一、什么是Sqoop
传统的应用管理系统,也就是与关系型数据库的使用RDBMS应用程序的交互,是产生大数据的来源之一。这样的大数据,由关系数据库生成的,存储在关系数据库服务器中。
当大数据存储器和分析器,如MapReduce, Hive, HBase, Cassandra, Pig等,Hadoop的生态系统等的出现,它们需要一个工具来实现大数据和关系型数据库服务器之间的交互。Sqoop应运而生。
Sqoop是Hadoop和关系数据库服务器之间传送数据的一种工具。它是用来从关系型数据库如:MySQL,Oracle到Hadoop的HDFS,并从Hadoop的文件系统导出数据到关系数据库。
Sqoop:“SQL 到 Hadoop 和 Hadoop 到SQL”
二、Sqoop的工作流程
1、Sqoop 导入
导入工具从RDBMS到HDFS导入单个表。表中的每一行被视为HDFS的记录。所有记录被存储在文本文件的文本数据或者在Avro和序列文件的二进制数据。
2、Sqoop 导出
导出工具从HDFS导出一组文件到一个RDBMS。作为输入到Sqoop文件包含记录,这被称为在表中的行。那些被读取并解析成一组记录和分隔使用用户指定的分隔符。