sqoop导入作业错误org.kitesdk.data.validationexception for oracle

mcvgt66p  于 2021-05-31  发布在  Hadoop
关注(0)|答案(3)|浏览(435)

oracle 11g的sqoop导入作业失败,出现错误
错误sqoop.sqoop:运行sqoop时出现异常:org.kitesdk.data.validationexception:数据集名称81fdfb8245ab4898a719d4dda39e23f9\u c46010.histcontact不是字母数字(加上“\”)
以下是完整的命令:

$ sqoop job --create ingest_amsp_histcontact -- import --connect "jdbc:oracle:thin:@<IP>:<PORT>/<SID>" --username "c46010" -P --table C46010.HISTCONTACT --check-column ITEM_SEQ --target-dir /tmp/junk/amsp.histcontact -as-parquetfile -m 1 --incremental append

$ sqoop job --exec ingest_amsp_histcontact

这是一个用Parquet格式的增量导入。令人惊讶的是,如果我使用另一种格式,比如--as textfile,它的效果会非常好。
这与sqoop作业失败时出现的类似问题,oracle导入的kitesdk验证错误
但我用过ojdbc6,换成ojdbc7就不行了。
sqoop版本:1.4.7
oracle版本:11g
谢谢,尤萨塔

djp7away

djp7away1#

问题是--target dir选项中的“.”。解决方法:将目标目录更改为“/tmp/junk/amsp\u histcontact”。当sqoop作业完成时,将hdfs target dir重命名为“/tmp/junk/amsp.histcontact”

jchrr9hc

jchrr9hc2#

有一个解决方法,在--table参数中省略“.”字符对我有效,因此 --table <schema>.<table_name> ,我用 --table <table_name> . 但是,如果您从oracle中的另一个模式导入表,则这不起作用。

0yg35tkg

0yg35tkg3#

我知道这是有点晚,但我面临着同样的问题,我解决了它省略Parquet文件选项。
尝试运行作业而不使用

-as-parquetfile

相关问题