python - 将 Twitter 推文从 MongoDB 转储到 COSMOS

标签 python mongodb hadoop fiware fiware-cosmos

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

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

谢谢

最佳答案

我觉得没必要转储数据,MongoDB connector for Haddop可用于。 AFAIK,这样的连接器允许您仅在数据将要被处理时获取数据,从数据拆分中获取记录,因为它们是 Hadoop 的 map 进程所需要的.我的意思是,不是使用默认的 FileInputFormat,而是使用 MongoInputFormat,它实现了 InputFormat 接口(interface),因此提供了获取列表的方法拆分(这将是 MongoDB 中某种恒定大小的数据分区,例如集合的 block )和在拆分中获取记录的方法(例如集合的 block 中的 JSON 文档)。

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

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

关于python - 将 Twitter 推文从 MongoDB 转储到 COSMOS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32287272/

相关文章:

mongodb - 如果没有包含数组的相应查询字段,则无法应用位置运算符

javascript - mongoDB中的迭代树

hadoop - 使用 Hue + Beeswax 运行定义自定义 UDF 的 Hive 查询时如何刷新/清除 DistributedCache?

python - Instagram API 在 follow_user(user_id) 上失败

python - 代码覆盖率和三元运算符

python - 如何在 Python 中使用排序键函数调用?

scala - 使用hadoop parquet处理大数据到CSV输出

python - 删除 OpenERP 主页右侧出现的面板

mongodb - 使用 Rust Mongo 驱动程序原型(prototype)时,如何将 chrono::DateTime 字段序列化为 ISODate?

java - 在 Mac OS 中运行 hadoop