2

我想知道将从 Twitter Streaming API 获得的大量推文转储到 COSMOS 以运行非常简单的 MR 作业的最佳方法应该是什么。

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

谢谢

4

1 回答 1

0

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

这种连接器必须安装在集群的所有节点上;它在我们的路线图中,以及我们自己的一个连接器,它以类似的方式适用于 CKAN。它将于 9 月底到期。

话虽如此,如果出于任何原因您仍想将数据转储到 HDFS,最好的选择是创建一个脚本来负责读取 MongoDB 数据并将其转换为Cygnus不稳定的类似 NGSI 的通知;然后 Cygnus 将完成剩下的工作。

于 2015-08-30T15:57:30.907 回答