我正在尝试使用Sqoop将表从Postgresql导入HDFS。它工作正常。但是当我尝试导入一个表,其中一个字段是json类型时,它会显示错误:
ERROR orm.ClassWriter: Cannot resolve SQL type 1111
似乎Sqoop不支持json作为表字段的数据类型。知道是否有解决方案吗?
答案 0 :(得分:5)
试试这个:
sqoop import --connect jdbc:postgresql://XXX.XX.XXX.XXX:5432/iAtlas --table msg02 --username aaaa.bbbbb --password ccccc --schema tracking --map-column-java wsresp=String --map-column-hive wsresp=STRING
添加--map-column-hive选项,使用--map-column-java我们将sql类型映射到java类型然后使用--map-column-hive将它映射到hive类型
答案 1 :(得分:1)
我也遇到了类似的错误。能够通过在sqoop import命令中使用--map-column-java选项来解决它。在导入时将json类型映射到String,如:
- map-column-java wsresp = String