我正在尝试使用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.
如果有人知道原因/解决方法,请帮助我。
谢谢, 仙人
答案 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_NULL
,CONVERT_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;