从多个mysql表到hadoop mapreduce的数据

时间:2012-03-02 12:31:55

标签: java mysql hadoop mapreduce

我们有以下情况:

我们在java中实现了map-reduce processes链。目前我们正在从mysql表读取数据并将输出保存到另一个mysql table。现在我们可能需要来自另一个表的数据作为map /的输入减少过程。

可能的解决方案:

a)我们可以对地图流程的输入或

进行连接查询

b)我们可以通过简单的jdbc connection来读取所需的数据并一次又一次地请求数据(尽管我不喜欢它)。

问题:

此类情景中的最佳做法是什么? 我们将来可能会转移到mongoDB。那种情况下最佳做法是什么?

2 个答案:

答案 0 :(得分:0)

SQOOPHIVE可以使用。

您可以使用 SQOOP 将数据从mysql表传输到HDFS,然后再传输到 HIVE 。 从HIVE(操作后),您可以将表导出回Mysql。

示例:

  • 首先下载mysql-connector-java-5.0.8并将jar放入 Sqoop的lib和bin文件夹
  • 使用确切的字段名称和类型在Hive中创建表定义 如在mysql中
  

sqoop import --verbose --fields-terminated-by',' - connect   jdbc:mysql:// localhost / test --table employee --hive-import   --warehouse-dir / user / hive / warehouse --fields-terminated-by',' - split-by id --hive-table employee

请按此Link作为参考

答案 1 :(得分:0)

我认为现在这是不可能的。