搜索
搜 索
本版
文章
帖子
用户
图文精华
hadoop-2.6.0+zookeeper-3.4.6+hbase-1.0.0+hive-1.1.0完全分布 ...
首页
Portal
专题
BBS
面试
办公|编程助手
更多
登录
注册
用户组:游客
主题
帖子
云币
我的帖子
我的收藏
我的好友
我的勋章
设置
退出
导读
淘贴
博客
群组
社区VIP
APP下载
今日排行
本周排行
本周热帖
本月排行
本月热帖
会员排行
About云-梭伦科技
»
专题
›
交流区
›
技术交流
›
Sqoop
›
使用Sqoop从Oracle导入数据到Hive的方法及错误总结
0
3
0
分享
使用Sqoop从Oracle导入数据到Hive的方法及错误总结
sstutu
发表于 2014-1-8 17:20:10
[显示全部楼层]
阅读模式
关闭右栏
3
28063
About云VIP帮助找工作和提升
本帖最后由 sstutu 于 2014-1-8 17:23 编辑
导入数据
设置HADOOP_HOME
$ HADOOP_HOME=/path/to/some/hadoop sqoop import --arguments...
下载合适的Sqoop并解压到硬盘,所谓合适即Sqoop的版本应该和Hadoop的版本相匹配。笔者的Hadoop版本是1.03,下载的Sqoop是版本1.4.2。
$ tar zvxf sqoop-1.4.2.bin__hadoop-1.0.0.tar.gz
下载合适的JDBC驱动,将下载的JDBC的驱动放到Sqoop的lib文件夹下。
导入数据
$ sqoop import --hive-import --connect jdbc:oracle:thin:@192.168.56.111:1521:DBNAME --username USERNAME --password PASSWORD --verbose -m 1 --table TABLENAME
DBNAME:数据库名
USERNAME:用户名
PASSWORD:密码
TABLENAME:表名
-m:导入数据的进程的并发数,默认是4。如果导入的数据不大的话,不妨设置成1,这样导入更快。一般来说Sqoop会使用主键来平均地分割数据。并发导入的时候可以设置相关的分割列等等,具体的做法参考官方的文档。
如果Oracle是安装在远程的电脑上,要确保Sqoop可以ping通Oracle所在的电脑。例如如果Oracle安装在Win7上面,可能需要关闭Win7的防火墙。另外,需要将Oracle配置成可以远程访问的。
注意,用户名和表名应该要是大写的,除非它们在创建的时候是名字是放在引号中的大小写混合的形式。
错误总结
1.笔者在导入数据的过程中,发现一个问题,就是导入时没有提示任何错误,在HDFS中也看到生成了相关的文件,但是在Hive中使用命令show TABLES时却没有看到新导入的表格。此时有两种解决方案。一种是在Hive中手动地使用CREAT命令创建出表格,然后再SELECT一个,会发现表里有数据了。因此笔者猜测(只是猜测)可能是因为导入之后表格的元数据没有写入到Hive中。笔者查找了相关的资料,发现Hive默认是将元数据存储在derby中,所以笔者考虑将derby换成MySQL。
方法:
http://blog.sina.com.cn/s/blog_3fe961ae0101925l.html
将元数据存储在MySQL后,再导入就发现没有问题了。
2.增量导入
另外一个问题,如果我们要导入某个表中的新加入的部分,可以使用--check-column、--incremental、--last-v
3.
环境:CentOS 6.3, hive-0.9.0-cdh4.1.2, Oracle database 11g
执行语句:sqoop import --connect jdbc:oracle:thin:@m1-ite-erp-bidev01.m1:8521:biprod --username ahmt --password haddmt --table FCT_PROX_HMT --hive-import -m 1
导数的时候出错: ERROR tool.ImportTool: Imported Failed: Attempted to generate class with no columns!
经排查,问题出在 --username ahmt 这个选项, 需要把用户名大写, --username AHMT, 同时注意表名也要大写
欢迎加入about云群
425860289
、
432264021
,云计算爱好者群,关注
about云腾讯认证空间
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
千斤顶
显身卡
已有(3)人评论
电梯直达
正序浏览
zj220223
发表于 2016-12-13 10:55:39
我也遇到了这个问题 2天了 希望今天能解决
回复
使用道具
举报
显身卡
Useful丶M
发表于 2017-1-18 16:58:56
good good
回复
使用道具
举报
显身卡
lanthro
发表于 2017-4-4 12:35:24
在CDH-5.4.3上试验用楼主的方法从oracle导入到hive,用户名大小写都没问题,表名必须大写,否则出错
回复
使用道具
举报
显身卡
还有一些帖子被系统自动隐藏,点此展开
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
本版积分规则
发表回复
回帖后跳转到最后一页
发表新帖
sstutu
实习版主
关注
406
主题
948
帖子
143
粉丝
TA的主题
Flink基础教程
2018-10-24
39天大数据学习第30天:使用Spark
2018-10-24
Flink使用场景-生产环境【适合架构师、面试者】
2018-10-24
阿里巴巴为什么选择Apache Flink?
2018-10-24
美团点评基于 Flink 的实时数仓建设实践
2018-10-24
24小时热文
gRPC与云原生应用开发:以Go和Java为例
想来字节技术实习,看我这篇就够了!——保
这些人是如何度过40岁职场危机的
华为:HBase常见问题维护手册V1.0
从InfluxDB看时序数据的处理
关闭
推荐
/2
中文版ChatGPT
1.无需魔法 2.提高编程效率 3.提高文档能力
查看 »
新手帮助
新手帮助:注册遇到问题,领取资源,加入铁粉群,不会使用搜索,如何获取积分等
查看 »
意见
反馈