有没有办法将 MapReduce 作业的输出导入 SQL 表?

Posted

技术标签:

【中文标题】有没有办法将 MapReduce 作业的输出导入 SQL 表?【英文标题】:Is there a way where the output of the MapReduce job is imported into SQL table? 【发布时间】:2014-06-27 11:55:25 【问题描述】:

我想知道我们是否可以自动将 MapReduce 作业(MapReduce 作业应该负责导出)的输出导入 SQL 表(mysql、Oracle 等)。

我知道 Sqoop 可以用作工具,但它可以用于 MR 工作吗?

【问题讨论】:

***.com/questions/18351475/… 有一个可接受的答案,即使用 MySQL 作为目标数据库。 非常感谢 mc110 的链接 :-) 【参考方案1】:

除非您在 reducer 中编写一些代码,而不是将输出写入上下文,而是通过 JDBC 连接到 SQL 表并插入它(这将是一个非常糟糕的主意),您唯一能做的就是使用 Oozie 自动执行 MapReduce 作业,然后使用 Sqoop 执行插入。 Oozie 是一个工作流调度程序,用于自动化所有这些类型的操作。你可以找到更多关于它的信息here。

【讨论】:

非常感谢 Balduz 分享一些有用的信息。

以上是关于有没有办法将 MapReduce 作业的输出导入 SQL 表?的主要内容,如果未能解决你的问题,请参考以下文章

是否可以在 Hadoop Mapreduce 中为单个作业打印 Mapper 和 reducer 输出

mapreduce 作业完成后,_temporary 目录不会从输出位置删除

原生 mapreduce VS hbase mapreduce

在 Hadoop 中链接多个 MapReduce 作业

Hadoop MapReduce 作业成功完成,但未向 DB 写入任何内容

如何在MapReduce作业中以拼花文件格式编写输出?