- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
尝试将 Oracle 数据库中的表作为 parquet 文件导入时出现以下错误。
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 作业似乎卡在 map 0% reduce 0%。
最佳答案
使用--map-column-java
将clob
数据类型映射到Java String
。
例如,您有一个列 C1
。使用:
--map-column-java C1=String
检查 docs了解更多详情。
关于oracle - Sqoop 导入失败 : Cannot convert SQL type 2005 when trying to import Oracle table,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41810664/
我是一名优秀的程序员,十分优秀!