Sqoop导出HDFS到MySQL失败

问题描述 投票:0回答:1

我不知道我哪里出错了,但是每次从HDFS到MySQL的Sqoop导出命令都会失败。

sqoop export --connect "jdbc:mysql://quickstart.cloudera:3306/streaming" 
--username root --password cloudera --table pd_count --update-key id 
--update-mode allowinsert  --export-dir /user/cloudera/input/* -m 1 --batch

导出目录中只有1个文件夹,包含3个文件,

  1. 部分-M-00000
  2. 部分-M-00001
  3. 部分-M-00002

我已经更新了最后一个文件,以便了解--update参数。但是,无论我尝试多少排列,工作都会失败。

  1. 我将数据导出到MySQL而没有增量更新,数据导出成功。
  2. 我通过“增量追加”将数据导入HDFS,这是成功的。
  3. 但是当我尝试使用“更新密钥”和“更新模式”将数据导出到MySQL时,它不会传输并失败。

上面提到的命令是最后使用的命令。

以下是此link最近的错误日志,请帮助我。

提前致谢。

mysql hadoop sqoop
1个回答
0
投票

好的..我假设有些不同。你可以尝试使用以下选项

  1. 再次在导出中使用--verbose进行扩展日志。
  2. 您可以查看失败的应用程序中的应用程序日志。要获取它们,请以运行Sqoop命令-yarn logs -applicationId application_1513399439223_0001 > app_logs.txt.的用户身份运行以下命令
  3. 看来你没有添加qazxsw poi。

根据您的最新评论更新答案

我看到你已经杀死了这份工作。它可能与性能有关。请尝试调整以下内容并再次运行sqoop:

  • 将映射器的数量设置为4 --input-fields-terminated-by
  • 分批插入数据-m 4
  • 使用属性--batch指定将在每个插入语句中使用的记录数sqoop.export.records.per.statement
  • 最后,使用sqoop.export.statements.per.transaction属性指定每个事务将插入多少行。 sqoop export -Dsqoop.export.records.per.statement=100 --connect

请提供纱线日志和数据量?

© www.soinside.com 2019 - 2024. All rights reserved.