大数据(八) - Sqoop
jopen
9年前
Sqoop是什么
Sqoop:SQL-to-Hadoop
连接 传统关系型数据库 和 Hadoop 的桥梁
把关系型数据库的数据导入到 Hadoop 系统 ( 如 HDFS HBase 和 Hive) 中;
把数据从 Hadoop 系统里抽取并导出到关系型数据库里。
利用MapReduce加快数据传输速度 : 将数据同步问题转化为MR作业
批处理方式进行数据传输:实时性不够好
高效、可控地利用资源
任务并行度,超时时间等
数据类型映射与转换
可自动进行,用户也可自定义
支持多种数据库
MySQL
Oracle
PostgreSQL
将数据从关系型数据库导入Hadoop中
步骤1:Sqoop与数据库Server通信,获取数据库表的元数据信息;
步骤2:Sqoop启动一个Map-Only的MR作业,利用元数据信息并行将数据写入Hadoop。
特点:可以指定hdfs路径,指定关系数据库的表,字段,连接数(不压垮数据库),可以导入多个表,支持增量导入(手动指定起始id、事件,或自动记录上次结束位置,自动完成增量导入)
将数据从Hadoop导入关系型数据库导中
步骤1:Sqoop与数据库Server通信,获取数据库表的元数据信息;
步骤2:并行导入数据:
将Hadoop上文件划分成若干个split;
每个split由一个Map Task进行数据导入。
Sqoop可以与Oozie、Hive、Hbase等系统结合;
来自: http://blog.csdn.net//matthewei6/article/details/50534566