sqoop产生背景
多数是用Hadoop技术处理大数据业务的企业有大量的数据存储在传统的关系型数据库(RDBMS)中;由于缺乏工具的支持、对Hadoop和传统数据库系统中的数据进行相互传输是一件十分困难的事情;Sqoop就是一个在RDBMS和Hadoop之间进行数据传输的项目;
sqoop概述
sqoop是Hive/HDFS/HBase与关系数据库之间 导入和导出工具
sqoop: SQL-to-Hadoop
1)连接传统关系型数据库和Hadoop的桥梁;
把关系型数据的数据导入到Hadoop与其相关的系统(如HBase、Hive)中;
把数据从Hadoop系统里抽取并导出到关系型数据库中;
2)利用MapReduce加快数据传输速度;
3)批处理方法进行数据传输;
为什么选择sqoop
1)高效、可控地利用资源:任务并行
2)数据类型映射与转换:可自动转换,用户也可自定义
3)支持多种数据库:MySQL、Oracle、PostgreSQL
sqoop的数据源常用的有两种
1)文本文件,如日志文件
2)关系型数据库
sqoop-import : 从关系型数据库抽取数据到HDFS/HIVE/HBASE
sqoop-export : 从HDFS将数据导出到关系型数据库
在导入或者导出的时候使用到的表名或者字段名推荐用大写。
说明:sqoop的导入导出操作的出发点是HDFS/HIVE/HBASE等,而不是关系型数据库
后续sqoop案例操作以oracle自带的emp和dept表做为数据源