博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
sqoop java 调用,Sqoop简单使用及出现的问题
阅读量:6484 次
发布时间:2019-06-23

本文共 2210 字,大约阅读时间需要 7 分钟。

Sqoop简单使用

1. 列出CDH目录下面的sqoop相关命令:

[root@n12 bin]# pwd

/opt/cloudera/parcels/CDH/bin

[root@n12 bin]# ll sqoop*

sqoop help

2. oracle 抽数据到hive,需要准备jdbc驱动ojdbc6.jar, 将下载的ojdbc6.jar放到$SQOOP_HOME/lib目录下:

/opt/cloudera/parcels/CDH/lib/sqoop/lib[root@n12 lib]# ll ojdbc6.jar-rwxrwxrwx 1 root root 2739670 Feb 24 14:50 ojdbc6.jar

3. 执行 sqoop list-tables命令可以列出oracle的表:

sqoop-list-tables --driver oracle.jdbc.OracleDriver --connect jdbc:oracle:thin:@10.00.00.00:1521/test --username sys --password system

4. 执行sqoop import命令抽取oracle中的一个表到hive:

sqoop-import --connect jdbc:oracle:thin:@10.00.00.00:1521/test --username sys --password system --table TALENT_INFO  --hive-import --create-hive-table --hive-table TALENT_INFO --hive-overwrite --null-string '\\N' --null-non-string '\\N' --hive-drop-import-delims --verbose

此时出现问题:

Oracle: Connection Reset Errors

11/05/26 16:23:47 INFO mapred.JobClient: Task Id : attempt_201105261333_0002_m_000002_0, Status : FAILED

java.lang.RuntimeException: java.lang.RuntimeException: java.sql.SQLRecoverableException: IO Error: Connection reset

at com.cloudera.sqoop.mapreduce.db.DBInputFormat.setConf(DBInputFormat.java:164)

at org.apache.hadoop.util.ReflectionUtils.setConf(ReflectionUtils.java:62)

at org.apache.hadoop.util.ReflectionUtils.newInstance(ReflectionUtils.java:117)

at org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask.java:605)

at org.apache.hadoop.mapred.MapTask.run(MapTask.java:322)

在java.security文件中修改:

securerandom.source=file:/dev/../dev/urandom

之后,又遇到Error: TALENT_INFO : Unsupported major.minor version 52.0

该问题为cdh的java jdk版本与系统的jdk版本不一致导致的。

但是oracle连接总是间断出现connection reset的问题。

参考该作者的解决思路,应该是修改java文件没有生效的缘故。

在sqoop语句中增加 -D mapred.child.java.opts="-Djava.security.egd=file:/dev/../dev/urandom"

sqoop-import -D mapred.child.java.opts="-Djava.security.egd=file:/dev/../dev/urandom" --connect jdbc:oracle:thin:@10.00.00.00:1521/test --username sys --password system --table FA.FA_ASSET_KEYWORDS  --hive-import  --hive-database zr_test  --create-hive-table --hive-table FA_ASSET_KEYWORDS --hive-overwrite --null-string '\\N' --null-non-string '\\N' --hive-drop-import-delims -m 1 --verbose

另外还有出现:

IO Error: Got minus one from a read call

该问题应该是oracle数据库连接池连接数有限制。

转载地址:http://vmnuo.baihongyu.com/

你可能感兴趣的文章
微软推出Windows 10专业教育版:Cortana没了
查看>>
TensorFlow教程之API DOC 6.1.2Class tensorflow::EnvWrapper
查看>>
多目标跟踪突破:上交大&中兴 MOT Challenge 测评获第一
查看>>
控制ASP.NET Web API 调用频率
查看>>
系统诊断小技巧(7):利用Iptables进行排查和诊断的简易方案
查看>>
IPv6的渗透率比人们想象的要快速?
查看>>
针对Windows零日漏洞,微软是不是太过“无作为”了?
查看>>
推特解散商业团队 终止开发“Buy”按钮
查看>>
英特尔SSD:17年将专注于3D NAND和PCIe
查看>>
python (3):wxPython打包app,报错
查看>>
给网站更换服务器需要注意什么?
查看>>
成长型企业ERP系统实施的八大准则
查看>>
nginx重启脚本
查看>>
理解Linux系统/etc/init.d目录和/etc/rc.local脚本
查看>>
代码整洁之道
查看>>
svm 预测标签的概率输出
查看>>
SDK目录结构
查看>>
ActiveMQ(25):优化与建议
查看>>
使用Intelij Idea经过的坑
查看>>
微信 token
查看>>