Oracle 的 Sqoop 导入作业错误 org.kitesdk.data.ValidationException
Sqoop import job error org.kitesdk.data.ValidationException for Oracle
Oracle 11g 的 Sqoop 导入作业因错误而失败
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.
这与 Sqoop job fails with KiteSDK validation error for Oracle import
的问题类似
但是我用过 ojdbc6 并切换到 ojdbc7 也不行。
Sqoop 版本:1.4.7
甲骨文版本:11g
谢谢,
汤田
有一个解决方法,省略“.” --table 参数中的字符对我有用,所以我使用 --table <table_name>
而不是 --table <schema>.<table_name>
。但是,如果您从 Oracle 中的另一个模式导入 table,这将不起作用。
问题是“.”在 --target-dir 选项中。此处的解决方法:将目标目录更改为“/tmp/junk/amsp_histcontact”。当 sqoop 作业完成时,将 hdfs 目标目录重命名为“/tmp/junk/amsp.histcontact”
我知道有点晚了,但我遇到了同样的问题,我通过省略 parquet 文件选项解决了它。
尝试 运行 没有
的工作
-as-parquetfile
Oracle 11g 的 Sqoop 导入作业因错误而失败
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.
这与 Sqoop job fails with KiteSDK validation error for Oracle import
的问题类似但是我用过 ojdbc6 并切换到 ojdbc7 也不行。
Sqoop 版本:1.4.7
甲骨文版本:11g
谢谢, 汤田
有一个解决方法,省略“.” --table 参数中的字符对我有用,所以我使用 --table <table_name>
而不是 --table <schema>.<table_name>
。但是,如果您从 Oracle 中的另一个模式导入 table,这将不起作用。
问题是“.”在 --target-dir 选项中。此处的解决方法:将目标目录更改为“/tmp/junk/amsp_histcontact”。当 sqoop 作业完成时,将 hdfs 目标目录重命名为“/tmp/junk/amsp.histcontact”
我知道有点晚了,但我遇到了同样的问题,我通过省略 parquet 文件选项解决了它。
尝试 运行 没有
的工作-as-parquetfile