Sqoop 简明教程

Sqoop - Introduction

传统应用程序管理系统,也就是应用程序使用 RDBMS 与关系数据库交互,是大数据生成的源头之一。此类由 RDBMS 生成的海量数据被储存在关系 Database Servers 中,即关系数据库结构中。

当 Hadoop 生态系统的大数据存储和分析器(例如 MapReduce、Hive、HBase、Cassandra、Pig 等)进入人们的视野后,它们需要一个工具与关系数据库服务器交互,以导入和导出其中驻留的大数据。在此,Sqoop 占据了 Hadoop 生态系统中的一个位置,以在关系数据库服务器和 Hadoop 的 HDFS 之间提供可行的交互。

Sqoop −“SQL 到 Hadoop,Hadoop 到 SQL”

Sqoop 是一款设计用于在 Hadoop 与关系数据库服务器之间传输数据的工具。它用于将数据从诸如 MySQL 和 Oracle 等关系数据库导入 Hadoop HDFS,以及将数据从 Hadoop 文件系统导出到关系数据库。它由 Apache 软件基金会提供。

How Sqoop Works?

下图描述了 Sqoop 的工作流程。

sqoop work

Sqoop Import

导入工具将 RDBMS 中的各个表格导入 HDFS。表格中的每一行在 HDFS 中被视为一条记录。所有记录都以文本数据形式存储在文本文件中,或者以二进制数据形式存储在 Avro 和序列文件中。

Sqoop Export

导出工具将一组文件从 HDFS 导回到 RDBMS。作为 Sqoop 输入的文件包含记录,这些记录在表格中被称为行。对这些文件进行读取并解析为一组记录,然后使用用户指定的定界符进行分隔。