将数据从 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 错误的主要内容,如果未能解决你的问题,请参考以下文章
将数据批量加载到使用 BCP 从 SQL Server 导出的 Snowflake 时出现 UTF-8 错误
在 Hadoop 2.7.3 上执行简单 SQOOP 导入命令时出现 Sqoop 错误
使用 JDBC 连接器 5.1 从 Java 读取/写入 MySQL 中的 UTF-8 数据时出现问题