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