概括:
是否有可能:
- 使用 «MongoDB Connector for Hadoop» 将数据导入 Hadoop。
- 使用 Hadoop MapReduce 处理它。
- 在单个事务中使用 Sqoop 将其导出。
我正在使用 MongoDB 构建一个 Web 应用程序。虽然 MongoDB 在大部分工作中运行良好,但在某些部分我需要更强大的事务保证,为此我使用 MySQL 数据库。
我的问题是我想读取一个大的 MongoDB 集合进行数据分析,但是集合的大小意味着分析工作需要很长时间来处理。不幸的是,MongoDB 的内置 map-reduce 框架不能很好地完成这项工作,所以我更愿意使用Apache Hadoop进行分析。
我知道可以使用«MongoDB Connector for Hadoop»从 MongoDB 读取数据到 Hadoop ,它从 MongoDB 读取数据,在 Hadoop 中使用 MapReduce 处理它,最后将结果输出回 MongoDB 数据库。
问题是我希望 MapReduce 的输出进入 MySQL 数据库,而不是 MongoDB,因为结果必须与其他 MySQL 表合并。
为此,我知道 Sqoop 可以将 Hadoop MapReduce 的结果导出到 MySQL。
最终,我也想读取 MongoDB 数据,然后使用 Hadoop 对其进行处理,最后将结果输出到 MySQL 数据库中。
这可能吗?有哪些工具可以做到这一点?