数据转换解决方案sqoop

上传人:飞*** 文档编号:51422674 上传时间:2018-08-14 格式:PPTX 页数:15 大小:1.77MB
返回 下载 相关 举报
数据转换解决方案sqoop_第1页
第1页 / 共15页
数据转换解决方案sqoop_第2页
第2页 / 共15页
数据转换解决方案sqoop_第3页
第3页 / 共15页
数据转换解决方案sqoop_第4页
第4页 / 共15页
数据转换解决方案sqoop_第5页
第5页 / 共15页
点击查看更多>>
资源描述

《数据转换解决方案sqoop》由会员分享,可在线阅读,更多相关《数据转换解决方案sqoop(15页珍藏版)》请在金锄头文库上搜索。

1、数据转换工具sqoop1. Sqoop工具介绍 SqoopSqoop是Apache顶级项目,主要用来在Hadoop和关系数据库中 传递数据。通过sqoop,我们可以方便的将数据从关系数据库导入到 HDFS,或者将数据从HDFS导出到关系数据库。sqoop主要通过JDBC和关系数据库进行交互,理论上支持JDBC的 database都可以使用sqoop。1.1 Sqoop介绍:兼容数据库Sqoop主要通过mapreduce把数据从关系型数据库中导入数据到 HDFS,目前测试兼容的数据库。对oracle数据库的处理,复制jdbc驱动ojdbc6.jar 到sqoop的lib目 录即可。数据库版本支持

2、直接支持MySQL 5.0+YesOracle10.2.0+NoPostgreSQ L8.3+(只支持导入) YesHSQLDB1.8.0+NoTeradata13.0+No1.2 工作原理:总体架构1.2 工作原理: 工作流程(1)Sqoop架构非常简单,其整合了Hive、Hbase和Oozie,通过map-reduce 任务来传输数据,从而提供并发特性和容错。Sqoop可以通过命令行先创建一个任务名,并描述该任务的导入或者导 出工作,然后执行即可。其主要工作流程如下:1.读取要导入数据的表结构,生成运行类,默认是QueryResult,打成jar 包,然后提交给Hadoop;1.2 工作原

3、理: 工作流程(2)2.设置好mapreduce的job,主要包括如下参数:(1) InputFormatClass : 设置输入格式;(2) OutputFormatClass: 设置输出格式,包括:文本、SequenceFile和 AvroDataFile三种格式;(3) Mapper: 设置执行mapreduce任务的mapper类;(4) taskNumbers: 设置执行mapreduce的并行任务数。1.2 工作原理: 工作流程(3)3. 由Hadoop来执行MapReduce任务完成Import工作:1)首先要对数据进行切分,记录划分范围并读取;2)然后创建RecordReade

4、r从数据库中读取数据;3)创建Map,RecordReader一行一行从关系型数据库中读取数据,设置 好Map的Key和Value;4)运行map。1.3 数据导入Import特性1.支持文本文件、avro、SequenceFiles格式, 默认为文本。2.支持数据追加,通过apend指定。3.支持table列选取(column),支持数据选取(where、 join)。4.支持map任务数定制和数据压缩。5. 提供参数将关系数据库中的数据导入到HBase ,导入HBase分二部:1) 导入数据到HDFS; 2)调用HBase put操作逐行将数据写入表。1.4 数据导出Export特性1.

5、支持将数据导出到表(table)或者调用存储过程(call)。2. 支持insert、update模式。3. 支持并发控制。1.5 增量备份(1)一般情况下,关系数据表存在于线上环境的备份环境,需要每天进行数 据导入。如果数据表较大,我们通常不可能每次都进行全表的导入,而 sqoop提供了增量导入数据的机制。控制增量导入主要由三个参数控制:-check-column (col):表明当判断哪些行要被导入时需要检查的列; -incremental (mode):表明Sqoop是如何判断哪些行是新的,mode主要 包括append(增量)和lastmodified(上次备份后修改过的)两个模式;

6、-last-value (value):表明上次导入之后check-column(被检查列)的最大 值(已排序的)。1.5 增量备份(2)还有一个问题,每天导入时last value值都不一样,如何做到每天动态的 读取新的last value呢?这点sqoop也想到了,sqoop支持把一条sqoop命令变 为一个job查找最新的last value,然后自动地更换last value的值。我们只要设置一个每天增量导出任务和一个定期的全表导出任务,用脚 本定时执行两个任务即可完成数据库数据的转换工作了。 1.6 Sqoop性能原生Sqoop导出到HDFS速度为2.8MB/s左右。此外Sqoop还

7、有很多第三方的插件,比如Quest开发的OraOop插件来提 高导入导出速度。测试环境如下:一台只有700m内存的,IO低下的oracle数据库,百兆的 网络,使用Quest的Sqoop插件设置为4个并行度。从orcale导出到HDFS速度 达到了5MB/s 。最新sqoop稳定版本为1.4.4,1.6 Sqoop版本和稳定性最新sqoop稳定版本为1.4.4,2013年8月发布,目前sqoop2也更新到了 1.99.3,2013年11月发布。但是sqoop v2还不稳定,很多Hadoop系统还需 要安装使用sqoop v1.4.4。400-820-5821新浪微博:普元软件 | 上海 | 广州 | 深圳 | 长沙 | 西安谢 谢!目录1 2 3 4

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号