我在 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
最佳答案
您可以使用多个映射器来加快该过程。为此,您需要找出数据分布均匀的列,并将该列用作 --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 从 Mysql 导入 Hive 花费的时间太长,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54050901/