mysql - 使用 sqoop 从 Mysql 导入 Hive 花费的时间太长

标签 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

最佳答案

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

相关文章:

php - Codeigniter where_in JSON 列

php - MYSQL INSERT 循环 - 使用 PHP

join - 优化加入 HIVE 查询 : c

hadoop - 将Hadoop作业的结果添加到Hive Table

hadoop - Hive Merge 命令在 Spark HiveContext 中不起作用

hadoop - 执行错误,从 org.apache.hadoop.hive.ql.exec.mr.MapRedTask 返回代码 1 (state=08S01,code=1)

mysql - 如何优化 MySQL 查询

php - 如何使用 LOAD XML LOCAL INFILE 将数据从 xml 插入到 mysql

java - 使用自定义过滤器过滤 Accumulo 返回的结果时出错

hadoop - 从其他 Pig 脚本调用 Pig Latin 脚本