使用 sqoop 将数据从 oracle 导入到 hdfs
Posted
技术标签:
【中文标题】使用 sqoop 将数据从 oracle 导入到 hdfs【英文标题】:data import from oracle to hdfs with sqoop 【发布时间】:2016-06-27 14:03:42 【问题描述】:您好,我在尝试使用 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】:嘿,它对我有用。
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/
表名应为大写。
【讨论】:
以上是关于使用 sqoop 将数据从 oracle 导入到 hdfs的主要内容,如果未能解决你的问题,请参考以下文章
使用 sqoop 从 Oracle 到 hive 的日期导入问题