Sqoop导入错误

时间:2018-01-25 05:42:37

标签: mysql hadoop sqoop

我正在尝试使用sqoop import导入MySQL表。以下是我得到的错误。

代码:

[root@sandbox ~]# sqoop import \
   --connect "jdbc:mysql://localhost:3306/retail_db" \
   --username=root \
   --password=hadoop \
   --table departments \
   --as-avrodatafile \
  --target-dir=/user/root/departments

错误:

ERROR manager.SqlManager: Error executing statement: java.sql.SQLException: The connection property 'zeroDateTimeBehavior' acceptable values are: 'CONVERT_TO_NULL', 'EXCEPTION' or 'ROUND'. 
The value 'convertToNull' is not acceptable.

java.sql.SQLException: The connection property 'zeroDateTimeBehavior' acceptable values are: 'CONVERT_TO_NULL', 'EXCEPTION' or 'ROUND'.
The value 'convertToNull' is not acceptable.

如果有人知道原因/解决方法,请帮助我。

谢谢, 仙人

4 个答案:

答案 0 :(得分:1)

这是我尝试过的方法,并且适用于Windows

sqoop import 
--connect "jdbc:mysql://localhost/employees?zeroDateTimeBehavior=CONVERT_TO_NULL" 
--table tablename
--username username
--password password
--m 1 
--target-dir /user/sqoop/tablename
--outdir java_files

zeroDateTimeBehavior=CONVERT_TO_NULLCONVERT_TO_NULL是由我在运行时遇到的错误引起的。有效

答案 1 :(得分:0)

您可以尝试使用以下代码:

jdbc:mysql://localhost:3306/retail_db?zeroDateTimeBehavior=convertToNull

答案 2 :(得分:0)

使用“ zeroDateTimeBehavior = CONVERT_TO_NULL”可以正常工作

答案 3 :(得分:0)

在devops团队将mysql升级到版本8之后,我遇到了同样的问题。此后,所有的sqoop作业都开始失败。我使用下面的命令,它对我有用。

sqoop import -Dmapreduce.job.queuename=queue --connect jdbc:mysql:/hostname:3306/db_name?zeroDateTimeBehavior=round -m 1 --driver com.mysql.jdbc.Driver --username user --password pwd --table dim_store  --fields-terminated-by "\t" --hive-import --hive-overwrite  --hive-table hivedb.hivetable;