필드 순서도 맞췄고, 그런데 계속 실패났다.


sqoop export \

--connect jdbc:oracle:thin:@아이피:포트:디비스페이스 \

--username 아이디 \

--password 패스워드 \

--table tb_save_table \

--export-dir /user/hive/warehouse/sample.db/t_test_data \

--input-fields-terminated-by "\t" \

--input-lines-terminated-by "\n" \

--verbose \

-m 1 \

 --input-null-string '\\N' \

 --input-null-non-string '\\N'



대충 이런 에러 났다. 하도 짜증나서 오라클에서 내부적으로 upper 로 필드명 관리되는데 이게 안맞나 해서 필드명도 손댔지만

삽질의 끝으로 하다보면 결국은 필드명이 문제가 이나라  테이블명의 대소문자가 문제였다 -_-;




16/02/22 22:17:34 DEBUG manager.OracleManager$ConnCache: Caching released connection for jdbc:oracle:thin:@아이피:포트:디비스페이스/아이디

16/02/22 22:17:34 ERROR sqoop.Sqoop: Got exception running Sqoop: java.lang.IllegalArgumentException: There is no column found in the target table t_ncc_ad_tdly_st_tmp. Please ensure that your table name is correct.

java.lang.IllegalArgumentException: There is no column found in the target table tb_save_table . Please ensure that your table name is correct.

        at org.apache.sqoop.orm.ClassWriter.generate(ClassWriter.java:1658)

        at org.apache.sqoop.tool.CodeGenTool.generateORM(CodeGenTool.java:96)

        at org.apache.sqoop.tool.ExportTool.exportTable(ExportTool.java:64)

        at org.apache.sqoop.tool.ExportTool.run(ExportTool.java:100)

        at org.apache.sqoop.Sqoop.run(Sqoop.java:143)

        at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:70)

        at org.apache.sqoop.Sqoop.runSqoop(Sqoop.java:179)

        at org.apache.sqoop.Sqoop.runTool(Sqoop.java:218)

        at org.apache.sqoop.Sqoop.runTool(Sqoop.java:227)

        at org.apache.sqoop.Sqoop.main(Sqoop.java:236)




이렇게 하니 해결된다.



sqoop export \

--connect jdbc:oracle:thin:@아이피:포트:디비스페이스 \

--username 아이디 \

--password 패스워드 \

--table TB_SAVE_TABLE \

--export-dir /user/hive/warehouse/sample.db/t_test_data \

--input-fields-terminated-by "\t" \

--input-lines-terminated-by "\n" \

--verbose \

-m 1 \

 --input-null-string '\\N' \

 --input-null-non-string '\\N'




+ Recent posts