数据转换解决方案sqoop

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

数据转换工具sqoop1.Sqoop工具介绍•SqoopSqoop是Apache顶级项目,主要用来在Hadoop和关系数据库中传递数据。通过sqoop,我们可以方便的将数据从关系数据库导入到HDFS,或者将数据从HDFS导出到关系数据库。sqoop主要通过JDBC和关系数据库进行交互,理论上支持JDBC的database都可以使用sqoop。1.1Sqoop介绍:兼容数据库Sqoop主要通过mapreduce把数据从关系型数据库中导入数据到HDFS,目前测试兼容的数据库。对oracle数据库的处理,复制jdbc驱动ojdbc6.jar到sqoop的lib目录即可。数据库版本支持直接支持MySQL5.0+YesOracle10.2.0+NoPostgreSQL8.3+(只支持导入)YesHSQLDB1.8.0+NoTeradata13.0+No1.2工作原理:总体架构1.2工作原理:工作流程(1)Sqoop架构非常简单,其整合了Hive、Hbase和Oozie,通过map-reduce任务来传输数据,从而提供并发特性和容错。Sqoop可以通过命令行先创建一个任务名,并描述该任务的导入或者导出工作,然后执行即可。其主要工作流程如下:1.读取要导入数据的表结构,生成运行类,默认是QueryResult,打成jar包,然后提交给Hadoop;1.2工作原理:工作流程(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)然后创建RecordReader从数据库中读取数据;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)调用HBaseput操作逐行将数据写入表。1.4数据导出Export特性1.支持将数据导出到表(table)或者调用存储过程(call)。2.支持insert、update模式。3.支持并发控制。1.5增量备份(1)一般情况下,关系数据表存在于线上环境的备份环境,需要每天进行数据导入。如果数据表较大,我们通常不可能每次都进行全表的导入,而sqoop提供了增量导入数据的机制。控制增量导入主要由三个参数控制:--check-column(col):表明当判断哪些行要被导入时需要检查的列;--incremental(mode):表明Sqoop是如何判断哪些行是新的,mode主要包括append(增量)和lastmodified(上次备份后修改过的)两个模式;--last-value(value):表明上次导入之后check-column(被检查列)的最大值(已排序的)。1.5增量备份(2)还有一个问题,每天导入时lastvalue值都不一样,如何做到每天动态的读取新的lastvalue呢?这点sqoop也想到了,sqoop支持把一条sqoop命令变为一个job查找最新的lastvalue,然后自动地更换lastvalue的值。我们只要设置一个每天增量导出任务和一个定期的全表导出任务,用脚本定时执行两个任务即可完成数据库数据的转换工作了。1.6Sqoop性能原生Sqoop导出到HDFS速度为2.8MB/s左右。此外Sqoop还有很多第三方的插件,比如Quest开发的OraOop插件来提高导入导出速度。测试环境如下:一台只有700m内存的,IO低下的oracle数据库,百兆的网络,使用Quest的Sqoop插件设置为4个并行度。从orcale导出到HDFS速度达到了5MB/s。最新sqoop稳定版本为1.4.4,1.6Sqoop版本和稳定性最新sqoop稳定版本为1.4.4,2013年8月发布,目前sqoop2也更新到了1.99.3,2013年11月发布。但是sqoopv2还不稳定,很多Hadoop系统还需要安装使用sqoopv1.4.4。400-820-5821新浪微博:@普元软件weibo.com/primetonsoftware产品服务在线社区:gocom.cc北京|上海|广州|深圳|长沙|西安谢谢!目录•1•2•3•4

1 / 15
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功