[bigdata-009]用Sqoop在关系数据库和HDFS之间转储数据[Step by Step]

1. Impala和Hive以SQL语言对数据进行操作。它们的数据以HFDS/HBase的方式存储。因此,关系数据库的数据,需要转储到HDFS文件,才能供它们使用。有时候也需要将HDFS存储的数据,转储到关系数据库。


2. Apache Sqoop项目 http://sqoop.apache.org/ ,提供关系数据库和HDFS之间双向转储。

    由于历史原因,Sqoop有两个版本: Sqoop1和Sqoop2。Sqoop1的版本号形如1.4.x,目前的稳定版是1.4.6,Sqoop2的版本号形如1.99.x,目前的稳定版是1.99.7。

    Sqoop1和Sqoop2互不兼容,特性不一致,建议将它们视为完全不同的东西。

    Sqoop1的MapOnly作业进行HDFS/HBase/Hive与关系数据库进行数据导入导出,用户以命令行方式交互操作。

    Sqoop2使用集中化的服务,由Server负责管理完整的MapReduce作业,提供多种用户交互方式(CLI/WebUI/RESTAPI),具有权限管理机制,具有规范化的Connector。


3. CDH对sqoop1和Sqoop2均提供支持。建议:手工作业使用Sqoop1,大批量自动化数据转储使用Sqoop2(推荐优先使用REST接口方式)。但请注意,sqoop2是极其复杂的,非常难用,如果不能承受这个成本,可以选择sqoop1。

    Sqoop2的命令 create, update, clone只能在交互界面运行,不能在batch模式下运行,因此不适合处理批量自动化导入。当然,也可以通过linux expect实现create, update, clone自动交互,但显然比REST更复杂,成本过高。


4. 文档

    CDH Sqoop1 安装

    http://www.cloudera.com/documentation/enterprise/5-7-x/topics/cdh_ig_sqoop_installation.html

   

    CDH Sqoop2 安装

    http://www.cloudera.com/documentation/enterprise/5-7-x/topics/cdh_ig_sqoop2_installation.html

    

    Sqoop官网文档,包括Sqoop1和Sqoop2

    http://sqoop.apache.org/docs/

    其中,Sqoop2 REST API在这里:

    http://sqoop.apache.org/docs/1.99.7/dev/RESTAPI.html

 

    书籍:《Apache Sqoop Cookbook》by Kathleen Ting and Jarek Jarcec Cecho,这本书主要内容是sqoop1的,2013年出版,没有sqoop2的内容。本书关于增量导入,性能调优,以及Sqoop1和工作流Oozie的集成比较有价值。

    http://ishare.iask.sina.com.cn/f/37906166.html

5. CDH Sqoop2的不提供第三方JDBC驱动,所以如果要处理不同的数据库连接问题,提前需要安装第三方JDBC驱动器的jar包,包括MySQL,Oracle,SQL Server,PosgreSQL。安装方式如下:

        http://www.cloudera.com/documentation/enterprise/5-7-x/topics/cdh_ig_sqoop2_configure.html#topic_14_3_2__title_323

6. 登录CDH集群试运行Sqoop2

    6.1 使用vpn

    6.2 登录bigdata-master

ssh root@10.14.1.9

    6.3 登录后,切换到hdfs用户

su hdfs
cd

    6.4 启动Sqoop2,从6.5起的命令均在Sqoop2交互界面执行

sqoop2

     6.5 设置Sqoop2服务器IP地址

set server --host 10.14.1.9

    6.6  Sqoop2版本信息

show version --all

    6.7  Connector信息

show connector


7. Sqoop2 REST API

    7.1 检查Sqoop2的版本信息

wget -qO - 10.14.1.9:12000/sqoop/version

    返回值应当是json格式,且形式如下:

{"source-url":"http:\/\/github.com\/cloudera\/sqoop2","source-revision":"95271ec80d5e20913726cb08057f1b44505c3b04","build-version":"1.99.5-cdh5.7.0","api-versions":["v1"],"user":"jenkins","build-date":"Wed Mar 23 11:31:21 PDT 2016"}
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 、4下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。、可私 6信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 、4下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。、可 6私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 、4下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。、可私 6信博主看论文后选择购买源代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值