2017-09-14 9 views
0

보기에서 하나의 열이 ROWID 열인 보기에 oracle db에서 뷰를 갖습니다. 일단 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 열 - 하이브 옵션을 사용하고 있습니다. 그 밖의 어떤 시도를 할 수 있습니까?

도와주세요.

답변

0

Java 매핑은 POJO를 만드는 데 필요합니다. 이 일을하고 HDFS에 데이터를로드 --map-column-java 'AAA$col'=String

+0

추가하지만, 하이브 테이블을 생성 할 수 있으며, 또 다른 오류로 실패했습니다. – Arvind

+0

오류 tool.ImportTool : 가져 오기 실패 : java.io.IOException : 하이브 열 AAA $ col에 대한 SQL 형식을 지원하지 않습니다. – Arvind

+0

덤프 된 데이터 위에 하이브에 다른 외부 테이블을 만들 수 있지만 여전히 다른 방법이 있습니다. 동일한 문제에 대해 - 하이브 테이블 옵션을 사용하여 하이브 테이블을 생성 하시겠습니까? – Arvind