Sqoop - 导入失败:无法转换sql类型-102

时间:2017-03-12 11:07:43

标签: sql oracle hive sqoop avro

当我尝试在Sqoop上运行命令时:

  

sqoop import --connect jdbc:oracle:thin:@ // MyServer / MyDatabase   --username MyUser --password MyPassword -m 1 --table MyTable --fetch-size 10 --create-hive-table --hive-table LocalTable --as-avrodatafile --target-dir / user / sample

我收到以下错误:

  

导入失败:无法转换sql类型-102

是因为我试图生成avro吗? 谁能告诉我问题是什么以及如何解决?

1 个答案:

答案 0 :(得分:0)

我发现了问题和解决方案。

错误消息意味着avro由于其数据类型而无法转换其中一列。问题恰恰与日期格式有关。

解决方案是在sqoop命令中添加它:

- map-column-java DATE_COLUMN = String

有了这个,我们做了一个castin to string,而avro不再抱怨了

只是添加一些提示:

  1. 如果您需要投射多个列,请在元素之间使用','并且不要留下空格:

    - map-column-java DATE_COLUMN1 = String,DATE_COLUMN2 = String

  2. 变量类型必须以大写

    中的第一个字母书写

    - map-column-java COLUMN1 = String,COLUMN2 = Integer