使用MySQL从sqoop进行Hive导入需要花费太长时间

时间:2019-01-05 10:03:37

标签: mysql hadoop hive sqoop

我在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 个答案:

答案 0 :(得分:0)

您可以使用多个映射器来加快该过程。为此,您需要找出具有均匀分布数据的列,并将该列用作--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。控制并行性