我想知道什么应该是将从Twitter Streaming API获得的大量推文转储到COSMOS中以便运行非常简单的MR工作的最佳方法。
我正在考虑将收集文档转换为CSV,可能每行一个,然后scp转换为COSMOS。但我不确定我是否需要HIVE才能在那里运行MR工作,或者我能以更加手动的方式运行这项工作。我正在考虑使用Python,我更喜欢不必使用Java。
由于
答案 0 :(得分:0)
我认为没有必要转储数据,可以使用MongoDB connector for Haddop。 AFAIK,这样的连接器允许您仅在要处理数据时获取数据,从数据拆分获取记录,因为Hadoop上的映射进程需要它们。我的意思是,不使用默认的FileInputFormat
,而是使用实现MongoInputFormat
接口的InputFormat
,从而提供一种获取拆分列表的方法(这将是某种类型的MongoDB中数据的恒定大小分区,例如集合的chunck)和在分裂中获取记录的方法(例如集合中的JSON文档)。
这种连接器必须安装在集群的所有节点中;它在我们的路线图中,与我们自己的connector一起,以类似的方式为CKAN工作。它将于9月底结束。
据说,如果由于任何原因你仍然想要将数据转储到HDFS,最好的办法是创建一个负责读取MongoDB数据的脚本,并将其转换为类似NGSI的通知Cygnus ;然后Cygnus将完成剩下的工作。