Sqoop 导入失败:尝试导入 Oracle table 时无法转换 SQL 类型 2005

Sqoop Imported Failed: Cannot convert SQL type 2005 when trying to import Oracle table

尝试从 Oracle 数据库导入 table 作为 parquet 文件时出现以下错误。

 ERROR tool.ImportTool: Imported Failed: Cannot convert SQL type 2005

这个问题已经被提出,但提出的解决方案对我没有帮助。

我正在尝试使用以下命令从命令行导入 table,<> 中的参数用相应的值填充:

sqoop import --connect jdbc:oracle:thin:@<host>:<port>/<service> --username <user> --password <password> --hive-import --query 'SELECT * FROM <DB>.<table> WHERE $CONDITIONS' --split-by <ID> --hive-database <HIVE_DB> --hive-table <HIVE_TABLE> --incremental append --check-column <ID> --map-column-hive <ID>=integer --compression-codec=snappy --target-dir=/user/hive/<FOLDER> --as-parquetfile --last-value 0 -m 1

有谁知道如何解决这个问题?我不是 sqooped Oracle 数据库方面的专家,但这似乎是由于存在 CLOB 数据类型。 我在 CDH 5.8 上使用 sqoop 1.4.6运行 这个命令

运行 没有 --as-parquetfile 的作业导致 sqoop 作业似乎卡在 map 0% reduce 0%.

使用 --map-column-javaclob 数据类型映射到 Java String

例如,您有一个列 C1。使用:

--map-column-java C1=String

查看 docs 了解更多详情。