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

时间:2017-01-23 16:08:22

标签: oracle hadoop sqoop

尝试从Oracle数据库导入表作为镶木地板文件时出现以下错误。

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

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

我正在尝试使用以下命令从命令行导入表格,参数位于<>填写了相应的值:

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数据类型。 我正在使用sqoop 1.4.6

在CDH 5.8上运行此命令

在没有--as-parquetfile的情况下运行作业会导致sqoop作业似乎陷入地图0%减少0%。

1 个答案:

答案 0 :(得分:2)

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

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

--map-column-java C1=String

查看docs了解详情。