Sqoop 简介
传统的应用管理系统,即应用与关系数据库使用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 软件基金会提供。
Sqoop 是如何工作的?
下图描述了 Sqoop 的工作流程。
Sqoop 导入
导入工具将单个表从 RDBMS 导入到 HDFS。表中的每一行都被视为 HDFS 中的一条记录。所有记录都以文本文件的形式存储在文本文件中,或者以二进制数据的形式存储在 Avro 和 Sequence 文件中。
Sqoop 导出
导出工具将一组文件从 HDFS 导出回 RDBMS。作为 Sqoop 输入的文件包含记录,称为表中的行。这些被读取并解析为一组记录,并用用户指定的分隔符分隔。