Oracle的Sqoop导入作业错误org.kitesdk.data.ValidationException [英] Sqoop import job error org.kitesdk.data.ValidationException for Oracle
问题描述
Oracle 11g的Sqoop导入作业失败,并显示错误
Sqoop import job for Oracle 11g fails with error
ERROR sqoop.Sqoop:运行Sqoop时出现异常:org.kitesdk.data.ValidationException:数据集名称81fdfb8245ab4898a719d4dda39e23f9_C46010.HISTCONTACT不是字母数字(加'_')
ERROR sqoop.Sqoop: Got exception running Sqoop: org.kitesdk.data.ValidationException: Dataset name 81fdfb8245ab4898a719d4dda39e23f9_C46010.HISTCONTACT is not alphanumeric (plus '_')
这是完整的命令:
$ 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
这是镶木地板格式的增量导入.令人惊讶的是,如果我使用--as-textfile等其他格式,效果很好.
it's an incremental import with parquet format. Surprisingly, it works pretty well if I use another format like --as-textfile.
这与> Sqoop作业失败有关Oracle导入的KiteSDK验证错误
但是我已经使用过ojdbc6并切换到ojdbc7也不起作用.
But I've used ojdbc6 and switched to ojdbc7 doesn't work as well.
Sqoop版本:1.4.7
Sqoop version: 1.4.7
Oracle版本:11g
Oracle version: 11g
谢谢,优萨达
推荐答案
有一种解决方法,省略了".--table参数中的字符对我有用,因此我使用的是-table< table_name>
而不是-table< schema>.< table_name>
.但是,如果您从Oracle中的另一个架构中导入表,这将不起作用.
There's a workaround, omitting "." character in --table parameter works for me, so instead of --table <schema>.<table_name>
, I use --table <table_name>
. But this doesn't work if you import a table from another schema in Oracle.
这篇关于Oracle的Sqoop导入作业错误org.kitesdk.data.ValidationException的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!