京东大数据工程师教你怎样用Sqoop
Sqoop是什么
Sqoop:SQL-to-Hadoop
连接 传统关系型数据库 和 Hadoop 的桥梁
把关系型数据库的数据导入到 Hadoop 系统 ( 如 HDFS HBase 和 Hive) 中;
把数据从 Hadoop 系统里抽取并导出到关系型数据库里。
利用MapReduce加快数据传输速度 :将数据同步问题转化为MR作业
批处理方式进行数据传输:实时性不够好
Sqoop优势
高效、可控地利用资源
任务并行度,超时时间等
数据类型映射与转换
可自动进行,用户也可自定义
支持多种数据库
MySQL
Oracle
PostgreSQL
Sqoop import
将数据从关系型数据库导入Hadoop中
步骤1:Sqoop与数据库Server通信,获取数据库表的元数据信息;
步骤2:Sqoop启动一个Map-Only的MR作业,利用元数据信息并行将数据写入Hadoop。
特点:可以指定hdfs路径,指定关系数据库的表,字段,连接数(不压垮数据库),可以导入多个表,支持增量导入(手动指定起始id、事件,或自动记录上次结束位置,自动完成增量导入)
Sqoop Export
将数据从Hadoop导入关系型数据库导中
步骤1:Sqoop与数据库Server通信,获取数据库表的元数据信息;
步骤2:并行导入数据:
将Hadoop上文件划分成若干个split;
每个split由一个Map Task进行数据导入。
Sqoop与其他系统结合
Sqoop可以与Oozie、Hive、Hbase等系统结合;
关注微信公众号“程序员OfHome”,发送“领取资料”可以免费领取视频资料。
对大数据感兴趣的朋友可以加入到我们的程序员OfHomeQQ群:610535338 群里有都是从事或者在学习大数据的朋友,在此我也邀请你进群一起学习,群内没有广告,也是禁止打广告的,大家也可以关注一下我的微信公共号“程序员OfHome”下方扫扫可关注。