hi i m在尝试使用SQOOP将数据导入到HDF的同时,在下面获取错误。命令使用 -
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:~$
嘿,它为我工作。
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导入 - 连接jdbc:oracle:thin:@ip:@ip:1521:orcl -username user1 -password password1 -table mytab -target -darget -dir/tmp/tmp/myoutput/
表名称应在大写字母中。