将数据从 HDFS 导出到 MySQL,但在转到 MySQL 之前应更新数据

Posted

技术标签:

【中文标题】将数据从 HDFS 导出到 MySQL,但在转到 MySQL 之前应更新数据【英文标题】:Export data from HDFS to MySQL but data should be updated before going to MySQL 【发布时间】:2018-12-26 12:17:12 【问题描述】:

我需要将数据从 mysql 导入 HDFS,而我正在使用 Apache Sqoop 执行此操作。但问题是我还需要将数据从 HDFS 导出到 MySQL,并且在将数据移动到 MySQL 之前,我需要更新这些数据的一列(即在 HDFS 中),我该怎么做?

【问题讨论】:

您需要进行哪些更改? 你可以先更新hive中的数据,然后再导出到mysql。 【参考方案1】:

您可以直接从 hdfs 更新列,并可以使用 INSER OVERWRITE DIRECTORY "path" 将 hive 输出存储到 HDFS,然后使用下面的 sqoop 命令

 sqoop export \
--connect jdbc:mysql://master/poc \
--username root \
--table employee \
--export-dir /user/hdfs/mysql/export.txt \
--update-key id \
--update-mode allowinsert \
--fields-terminated-by '\t' \
-m 1

希望这会有所帮助..

【讨论】:

以上是关于将数据从 HDFS 导出到 MySQL,但在转到 MySQL 之前应更新数据的主要内容,如果未能解决你的问题,请参考以下文章

Sqoop_具体总结 使用Sqoop将HDFS/Hive/HBase与MySQL/Oracle中的数据相互导入导出

14.Sqoop把数据从HDFS导出到mysql

将 HBase 数据导出到 RDBMS

hive使用教程(2)--数据导入导出、查询与排序

如何在转到角度之前将 SKSpriteNode 旋转 360°

sqoop 将特定列从 hdfs 导出到 mysql