📅  最后修改于: 2020-11-29 08:20:21             🧑  作者: Mango
传统的应用程序管理系统,即使用RDBMS的应用程序与关系数据库的交互,是生成大数据的来源之一。由RDBMS生成的此类大数据存储在关系数据库结构中的关系数据库服务器中。
当Hadoop生态系统的大数据存储和分析器(如MapReduce,Hive,HBase,Cassandra,Pig等)出现时,他们需要一种工具来与关系数据库服务器进行交互,以导入和导出驻留在其中的大数据。在这里,Sqoop在Hadoop生态系统中占有一席之地,以在关系数据库服务器和Hadoop的HDFS之间提供可行的交互。
Sqoop- “ SQL到Hadoop和Hadoop到SQL”
Sqoop是一种旨在在Hadoop和关系数据库服务器之间传输数据的工具。它用于将数据从MySQL,Oracle等关系数据库导入到Hadoop HDFS,并从Hadoop文件系统导出到关系数据库。它由Apache Software Foundation提供。
下图描述了Sqoop的工作流程。
导入工具将单个表从RDBMS导入到HDFS。表中的每一行都被视为HDFS中的一条记录。所有记录都作为文本数据存储在文本文件中,或者作为二进制数据存储在Avro和Sequence文件中。
导出工具将一组文件从HDFS导出回RDBMS。作为Sqoop输入的文件包含记录,这些记录称为表中的行。读取这些记录并将它们解析为一组记录,并使用用户指定的定界符定界。