当我尝试使用以下语法将数据从Oracle导入HDFS时:
./sqoop import --connect jdbc:oracle:thin://@XX.XX.XX.XX:1521:orcl --username orcluser -P --table TABLE --target-dir /datadir -m 1
然后我得到了
18/12/04 16:24:26 INFO oracle.OraOopManagerFactory: Data Connector for Oracle and Hadoop is disabled.
18/12/04 16:24:26 INFO manager.SqlManager: Using default fetchSize of 1000
18/12/04 16:24:27 ERROR sqoop.Sqoop: Got exception running Sqoop: java.lang.NullPointerException
java.lang.NullPointerException
at org.apache.sqoop.manager.OracleManager.listTables(OracleManager.java:769)
at org.apache.sqoop.tool.ListTablesTool.run(ListTablesTool.java:49)
at org.apache.sqoop.Sqoop.run(Sqoop.java:147)
at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:76)
at org.apache.sqoop.Sqoop.runSqoop(Sqoop.java:183)
at org.apache.sqoop.Sqoop.runTool(Sqoop.java:234)
at org.apache.sqoop.Sqoop.runTool(Sqoop.java:243)
at org.apache.sqoop.Sqoop.main(Sqoop.java:252)
我已经检查了Sqoop lib文件夹中的防火墙和ojdbc8.jar Oracle连接器。 PING IPADRESS也很好用。 感谢任何可以帮助我解决问题的人。我已经尝试了所有可以做的事,但是什么都没有发生。
答案 0 :(得分:1)
您收到的错误表明未与Oracle数据库建立连接。很有可能是由于运行sqoop客户端的计算机无法解析数据库主机名,或者--connect URL格式不正确。请从连接网址字符串中删除“ //”。
./sqoop import --connect jdbc:oracle:thin:@XX.XX.XX.XX:1521:orcl --username orcluser -P --table TABLE --target-dir /datadir -m 1