将数据从 MySQL 加载到 HDFS 时出现 Sqoop 错误

Posted

技术标签:

【中文标题】将数据从 MySQL 加载到 HDFS 时出现 Sqoop 错误【英文标题】:Sqoop error while loading data from MySQL to HDFS 【发布时间】:2015-04-21 19:30:28 【问题描述】:

我正在运行一个 sqoop 将数据从 mysql 加载到 HDFS。 代码如下:

sqoop import \
--connect jdbc:mysql://test.xxx.net/LIVE \
--username pitt \
--password abcd \
--query "select * from tblMfg where 1=1 and \$CONDITIONS" \
--target-dir /user/pitt/tblMfg \
--fields-terminated-by '\t' \
--null-string '' \
--null-non-string '' \
-m 1

在 tblMfg 上:

Value of dateCreate column: 0000-00-00 00:00:00

Data type of dateCreate column: timestamp 

但是当我运行 sqoop 时,我得到了这个错误:

java.io.IOException: SQLException in nextKeyValue

0000-00-00 00:00:00�� 08:06:05��05����015-04-20 08:06:05�����5��5��' can not be represented as java.sql.Timestamp

有人可以解释一下这里发生了什么吗?

【问题讨论】:

【参考方案1】:

java.sql.timestamp 不能用值 0000-00-00 00:00:00 初始化。这就是错误的原因。尝试在 dateCreate 列中使用其他时间戳值导入,例如 2011-02-15 02:02:02。它应该可以工作。

【讨论】:

以上是关于将数据从 MySQL 加载到 HDFS 时出现 Sqoop 错误的主要内容,如果未能解决你的问题,请参考以下文章