Sqoop import job error org.kitesdk.data.ValidationException for Oracle

£可爱£侵袭症+ 提交于 2021-01-28 12:44:02

问题


Sqoop import job for Oracle 11g fails with error

ERROR sqoop.Sqoop: Got exception running Sqoop: org.kitesdk.data.ValidationException: Dataset name 81fdfb8245ab4898a719d4dda39e23f9_C46010.HISTCONTACT is not alphanumeric (plus '_')

here's the complete command:

$ 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

it's an incremental import with parquet format. Surprisingly, it works pretty well if I use another format like --as-textfile.

This is similar issue with Sqoop job fails with KiteSDK validation error for Oracle import

But I've used ojdbc6 and switched to ojdbc7 doesn't work as well.

Sqoop version: 1.4.7

Oracle version: 11g

Thanks, Yusata


回答1:


I know it is kind of late but I faced the same problem and I solved it by omitting parquet file option.

Try running the job without

-as-parquetfile



回答2:


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.




回答3:


The problem is "." in --target-dir option. Workaround here: Change target dir to "/tmp/junk/amsp_histcontact". When sqoop job finishes, rename the hdfs target dir to "/tmp/junk/amsp.histcontact"



来源:https://stackoverflow.com/questions/49841889/sqoop-import-job-error-org-kitesdk-data-validationexception-for-oracle

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!