【发布时间】:2020-12-03 18:24:44
【问题描述】:
我正在尝试将一个巨大的表从 oracle 10g 导入到 HDFS(GCS,因为我将 sqoop 与 Google Cloud Dataproc 一起使用)作为 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
我已经将日期字段映射为字符串,以使它们像这样。我正在使用默认的 sqoop 方式导入,该方式将日期字段作为纪元整数,但转换也不正确。
喜欢:Oracle 数据 -> 01/01/01 和 HDFS 数据 -> -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
【问题讨论】:
标签: oracle date hadoop import sqoop