使用来自 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 耗时太长的主要内容,如果未能解决你的问题,请参考以下文章