数据从oracle导入到带有sqoop的hdfs

时间:2016-06-27 14:03:42

标签: hadoop hdfs sqoop

我在尝试使用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:~$ 

1 个答案:

答案 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 /

表名应为大写字母。