使用来自 Mysql 的 sqoop 导入 Hive 耗时太长

Posted

技术标签:

【中文标题】使用来自 Mysql 的 sqoop 导入 Hive 耗时太长【英文标题】:Hive import using sqoop from Mysql taking too long 【发布时间】:2019-01-05 10:03:37 【问题描述】:

我在 Ubuntu 18.04 的 hadoop 之上使用 hive 和 sqoop。

Hadoop、sqoop 和 Hive 正在按预期工作,但每当我尝试将数据导入我创建的 Hive 数据库时,工作都会暂停太久。

使用的 Sqoop 命令:

sqoop import \
--connect jdbc:mysql://localhost/project? \
--zeroDateTimeBehavior=CONVERT_TO_NULL \
--username hiveuser \
-P \
--table rooms \
-- hive-import \
--hive-database sqoop \
--hive-table room_info

【问题讨论】:

【参考方案1】:

您可以使用多个映射器加快该过程。为此,您需要找出具有均匀分布数据的列并将该列用作--split-by <column_name>,并使用-m <count> 选项增加映射器。

sqoop import \
--connect jdbc:mysql://localhost/project? \
--zeroDateTimeBehavior=CONVERT_TO_NULL \
--username hiveuser \
-P \
--table rooms \
-- hive-import \
--hive-database sqoop \
--hive-table room_info
--split-by <column_name>
-m 5

请阅读以下页面以了解更多详细信息。

https://sqoop.apache.org/docs/1.4.2/SqoopUserGuide.html

特别是这个话题:7.2.4。控制并行度

【讨论】:

以上是关于使用来自 Mysql 的 sqoop 导入 Hive 耗时太长的主要内容,如果未能解决你的问题,请参考以下文章

Sqoop学习笔记_Sqoop的基本使用一

sqoop导入数据到mysql原理_sqoop的详细使用及原理

04 使用Sqoop将mysql数据导入hbase

使用sqoop从mysql导入数据到hive

如何将mysql数据导入Hadoop之Sqoop安装

sqoop mysql数据变化怎么导入