Sqoop导入错误

Sqoop import error

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

代码:

[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.

如果有人知道reason/solution,请帮助我。

谢谢, 贤者

您可以尝试使用下面的代码吗:

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

这就是我尝试的方式,它对 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 是由我在 运行 时间遇到的错误驱动的。有效

适用于 "zeroDateTimeBehavior=CONVERT_TO_NULL"

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;