输入数据如何在节点之间分配给EMR [使用MRJob]?

我正在研究使用Yelp的MRJob来使用亚马逊的Elastic Map Reduce进行计算。在计算密集型工作期间,我需要读取和写入大量数据。每个节点应该只获取一部分数据,我对如何完成这一点感到困惑。目前,我的数据位于MongoDB中,并存储在持久的EBS驱动器上。 使用EMR时,如何在节点上考虑数据?如何告诉MRJob将数据分区的关键是什么? MRJob EMR文档隐含了分解步骤:如果您打开文件或连接到S3键值存储,它如何划分密钥?是否假设输入是序列并在此基础上自动对其进行分区? 也许有人可以使用MRJob wordcount示例解释输入数据如何传播到节点。在该示例中,输入是文本文件 - 它是复制到所有节点,还是由一个节点串行读取并分成多个部分?     
已邀请:
该示例假定您正在处理文本文件。我不确定您是否可以传入参数来使用MongoDB hadoop驱动程序。 你想在这做什么?我正在研究MongoDB hadoop驱动程序,我正在寻找示例和测试用例。     

要回复问题请先登录注册