我在尝试使用sqoop将数据从Oracle导入HDFS时收到以下错误。 使用的命令 -
sqoop import --connect jdbc:oracle:thin:sys/Welcome123@192.168.41.1:1521:orcl --username tgthr -P --table transactions --columns "tid,accounid,amount" --m 1
错误日志 -
cloudera@cloudera-vm:~$ sqoop import --connect jdbc:oracle:thin:sys/Welcome123@192.168.41.1:1521:orcl --username tgthr -P --table transactions --columns "tid,accounid,amount" --m 1
Enter password:
16/06/27 05:34:51 INFO tool.CodeGenTool: Beginning code generation
16/06/27 05:34:53 ERROR manager.SqlManager: Error executing statement: java.sql.SQLRecoverableException: Io exception: The Network Adapter could not establish the connection
16/06/27 05:34:53 ERROR sqoop.Sqoop: Got exception running Sqoop: java.lang.NullPointerException
java.lang.NullPointerException
at com.cloudera.sqoop.orm.ClassWriter.generate(ClassWriter.java:935)
at com.cloudera.sqoop.tool.CodeGenTool.generateORM(CodeGenTool.java:82)
at com.cloudera.sqoop.tool.ImportTool.importTable(ImportTool.java:337)
at com.cloudera.sqoop.tool.ImportTool.run(ImportTool.java:423)
at com.cloudera.sqoop.Sqoop.run(Sqoop.java:144)
at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:65)
at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:79)
at com.cloudera.sqoop.Sqoop.runSqoop(Sqoop.java:180)
at com.cloudera.sqoop.Sqoop.runTool(Sqoop.java:218)
at com.cloudera.sqoop.Sqoop.main(Sqoop.java:228)
cloudera@cloudera-vm:~$
答案 0 :(得分:0)
嘿它为我工作。
sqoop import --connect jdbc:oracle:thin:@ [ORACLE_SERVER_IP]:1521:orcl --username [ORACLE_USERNAME] --password [ORACLE_PASSWORD] --table [TABLE_NAME] -target-dir [/ TMP / MyOutput中]
注意 - >避免使用括号。它用于oracle所以对于其他数据库连接字符串会改变。
另外" orcl"是我的实例名称,1521是oracle中的端口,请检查它然后去导入。
实施例 - >
sqoop import --connect jdbc:oracle:thin:@IP:1521:orcl --username user1 --password Password1 --table MYTAB -target -dir / tmp / myoutput /
表名应为大写字母。