错误orm.ClassWriter:对于列AAA $ T,SQL类型-8没有Java类型

时间:2017-09-14 15:34:39

标签: hive sqoop

我在oracle db中有一个视图,在视图中一列是ROWID列, 一旦我尝试将负载导入sqoop,它就会抛出以下错误:

.
.
.
    17/09/14 08:15:32 INFO manager.OracleManager: Time zone has been set to GMT
17/09/14 08:15:32 INFO manager.SqlManager: Executing SQL statement: select * from user1.table1 where  (1 = 0) 
17/09/14 08:15:32 INFO manager.SqlManager: Executing SQL statement: select * from user1.table1 where  (1 = 0) 
17/09/14 08:15:32 INFO manager.SqlManager: Executing SQL statement: select * from user1.table1 where  (1 = 0) 
17/09/14 08:15:32 ERROR orm.ClassWriter: Cannot resolve SQL type -8
17/09/14 08:15:32 ERROR orm.ClassWriter: Cannot resolve SQL type -8
17/09/14 08:15:32 ERROR orm.ClassWriter: Cannot resolve SQL type -8
17/09/14 08:15:32 ERROR orm.ClassWriter: Cannot resolve SQL type -8
17/09/14 08:15:32 ERROR orm.ClassWriter: No Java type for SQL type -8 for column AAA$col
17/09/14 08:15:32 ERROR orm.ClassWriter: No Java type for SQL type -8 for column AAA$col
17/09/14 08:15:32 ERROR orm.ClassWriter: No Java type for SQL type -8 for column AAA$col
17/09/14 08:15:32 ERROR orm.ClassWriter: No Java type for SQL type -8 for column AAA$col
17/09/14 08:15:32 ERROR orm.ClassWriter: No Java type for SQL type -8 for column AAA$col
17/09/14 08:15:32 ERROR orm.ClassWriter: No Java type for SQL type -8 for column AAA$col
17/09/14 08:15:32 ERROR orm.ClassWriter: No Java type for SQL type -8 for column AAA$col
17/09/14 08:15:32 ERROR orm.ClassWriter: No Java type for SQL type -8 for column AAA$col
17/09/14 08:15:32 ERROR orm.ClassWriter: No Java type for SQL type -8 for column AAA$col
17/09/14 08:15:32 ERROR orm.ClassWriter: No Java type for SQL type -8 for column AAA$col
17/09/14 08:15:32 ERROR orm.ClassWriter: No Java type for SQL type -8 for column AAA$col
17/09/14 08:15:32 ERROR sqoop.Sqoop: Got exception running Sqoop: java.lang.NullPointerException
java.lang.NullPointerException
at org.apache.sqoop.orm.ClassWriter.parseNullVal(ClassWriter.java:1389)
.
.
.

我用来导入数据的命令:

sqoop import --connect "jdbc:oracle:thin:@172.20.50.111:1521/abc" \
--username user1 \
--password "passes" \
--query 'select * from user1.table1 where $CONDITIONS' \
--hive-import \
--create-hive-table \
--hive-table sv.table1 \
--map-column-hive 'AAA$col'=STRING \
--target-dir "/home/table1" \
--m 1

我知道ROWID无法直接导入,所以我使用的是--map-column-hive选项。 我还能尝试什么?

请帮忙。

1 个答案:

答案 0 :(得分:0)

创建POJO也需要Java映射。

添加--map-column-java 'AAA$col'=String