本文汇总了Sqoop使用时的常见问题。
导入RDS数据至EMR时,时间字段显示提前8小时如何处理?
问题描述:
例如,在云数据库RDS数据源中,数据表test_table中包含时间戳(TIMESTAMP)字段。
您可以执行以下命令,导入test_table中的数据至HDFS。
sqoop import \ --connect jdbc:mysql://rm-2ze****341.mysql.rds.aliyuncs.com:3306/s***o_sqoop_db \ --username s***o \ --password ****** \ --table test_table \ --target-dir /user/hadoop/output \ --delete-target-dir \ --direct \ --split-by id \ --fields-terminated-by '|' \ -m 1
查询导入结果。
查询结果显示,HDFS中导入数据的时间字段显示提前8小时。
解决方法:在使用TIMESTAMP字段导入数据至HDFS时,请删除--direct参数。
sqoop import \ --connect jdbc:mysql://rm-2ze****341.mysql.rds.aliyuncs.com:3306/s***o_sqoop_db \ --username s***o \ --password ****** \ --table test_table \ --target-dir /user/hadoop/output \ --delete-target-dir \ --split-by id \ --fields-terminated-by '|' \ -m 1
查询结果显示正常。
文档内容是否对您有帮助?