将Twitter推文从MongoDB转储到COSMOS



我想知道什么应该是最好的方法转储从Twitter流API获得的大量推文到COSMOS中,以便运行一个非常简单的MR作业。

我正在考虑将集合文档转换为CSV,可能每行一个,然后将它们scp到COSMOS。但是我不确定我是否需要HIVE来运行MR作业,或者我可以以更手动的方式运行作业。我在考虑用Python做这个,我不喜欢用Java。

谢谢

我认为没有必要转储数据,可以使用hadoop的MongoDB连接器。AFAIK,这样的连接器允许您仅在将要处理数据时获取数据,从数据拆分中获取记录,因为它们是Hadoop中的映射进程所需要的。我的意思是,而不是使用默认的FileInputFormat,你使用MongoInputFormat,它实现了InputFormat接口,从而提供了一种方法来获得拆分列表(这将是MongoDB中数据的某种固定大小的分区,例如一个集合的chunk)和一个方法来获取拆分内的记录(例如一个JSON文档在一个集合的chunk)。

这种连接器必须安装在集群的所有节点上;它在我们的路线图中,以及我们自己的连接器,以类似的方式为CKAN工作。截止日期为九月底。

据说,如果出于任何原因你仍然想要将数据转储到HDFS,你最好的选择是创建一个脚本来负责读取MongoDB数据并将其转换为ngsi类通知,Cygnus可以理解;然后Cygnus将完成剩下的工作。

最新更新