一.概述


1.1 sqoop产生的原因


A. 多数使用hadoop技术的处理大数据业务的企业,有大量的数据存储在关系型数据中。

B. 由于没有工具支持,对hadoop和关系型数据库之间数据传输是一个很困难的事。


1.2 sqoop的介绍


sqoop是apache旗下一款“Hadoop和关系数据库服务器之间传送数据”的工具。

导入数据:MySQL,Oracle导入数据到Hadoop的HDFS、HIVE、HBASE等数据存储系统;

导出数据:从Hadoop的文件系统中导出数据到关系数据库

sqoop浅谈-LMLPHP


1.3 sqoop的优点


A. 可以高效、可控的利用资源,可以通过调整任务数来控制任务的并发度。

B. 可以自动的完成数据映射和转换。由于导入数据库是有类型的,它可以自动根据数据库中的类型转换到Hadoop 中,当然用户也可以自定义它们之间的映射关系

C.支持多种数据库,如mysql,orcale等数据库


2 工作机制


将导入或导出命令翻译成mapreduce程序来实现

在翻译出的mapreduce中主要是对inputformat和outputformat进行定制

3.sqoop的使用


3.1 安装


安装sqoop的前提是已经具备java和hadoop的环境


3.1.1 下载解压


下载地址http://ftp.wayne.edu/apache/sqoop/1.4.6/


3.1.2 修稿配置文件



3.1.3 加入mysql驱动


cp  ~/app/hive/lib/mysql-connector-java-5.1.28.jar   $SQOOP_HOME/lib/


3.1.4 验证驱动


$ cd $SQOOP_HOME/bin

$ sqoop-version

预期的输出:

15/12/17 14:52:32 INFO sqoop.Sqoop: Running Sqoop version: 1.4.6

Sqoop 1.4.6 git commit id 5b34accaca7de251fc91161733f906af2eddbe83

Compiled by abe on Fri Aug 1 11:19:26 PDT 2015


到这里,整个Sqoop安装工作完成。


4  sqoop的数据导入导出



5.sqoop原理


Sqoop的原理其实就是将导入导出命令转化为mapreduce程序来执行,sqoop在接收到命令后,都要生成mapreduce程序

使用sqoop的代码生成工具可以方便查看到sqoop所生成的java代码,并可在此基础之上进行深入定制开发

本文分享自微信公众号 - 大数据私房菜(datagogogo)。
如有侵权,请联系 [email protected] 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

08-31 16:40