我正在尝试将一个巨大的表从oracle10g导入hdfs(gcs),因为我使用sqoop和googleclouddataproc作为avro。当表没有任何日期列时,一切都正常,但是当它有日期列时,一些日期被导入的非常错误。
例如:oracle数据->30/07/76和hdfs数据->14976-07-30 20:02:00.0
例如:oracle数据->26/03/84和hdfs数据->10384-03-26 20:32:34.0
我已经把日期字段Map成字符串了。我使用默认的sqoop方式导入,将日期字段作为epoch int,但是转换也不正确。
比如:oracle data->01/01/01和hdfs data->-62135769600000,而它应该是978314400000
希望有人能帮我解决这个问题。谢谢
附加信息:
我正在运行的sqoop命令
import -Dmapreduce.job.user.classpath.first=true -Dorg.apache.sqoop.splitter.allow_text_splitter=true --connect=$JDBC_STR --username=$USER --password=$PASS --target-dir=gs://sqoop-dev-out-files/new/$TABLE --num-mappers=10 --fields-terminated-by="\t" --lines-terminated-by="\n" --null-string='null' --null-non-string='null' --table=$SCHEMA.$TABLE --as-avrodatafile --map-column-java="DATACADASTRO=String,DATAINICIAL=String,DATAFINAL=String"
sqoop版本:1.4.7
jdbc版本:6
暂无答案!
目前还没有任何答案,快来回答吧!