Sqoop教程


Sqoop是Hadoop和關係數據庫服務器之間傳送數據的一種工具。它是用來從關係數據庫如:MySQL,Oracle到Hadoop的HDFS,並從Hadoop的文件系統導出數據到關係數據庫。

傳統的應用管理系統,也就是與關係型數據庫的使用RDBMS應用程序的交互,是產生大數據的來源之一。這樣大的數據,由關係數據庫生成的,存儲在關係數據庫結構關係數據庫服務器。

當大數據存儲器和分析器,如MapReduce, Hive, HBase, Cassandra, Pig等,Hadoop的生態系統等應運而生圖片,它們需要一個工具來用的導入和導出的大數據駐留在其中的關係型數據庫服務器進行交互。在這裏,Sqoop佔據着Hadoop生態系統提供關係數據庫服務器和Hadoop HDFS之間的可行的互動。

Sqoop:「SQL 到 Hadoop 和 Hadoop 到SQL」

Sqoop是Hadoop和關係數據庫服務器之間傳送數據的一種工具。它是用來從關係數據庫如MySQL,Oracle到Hadoop的HDFS從Hadoop文件系統導出數據到關係數據庫。它是由Apache軟件基金會提供。

Sqoop是怎麼樣工作的?

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

Sqoop教程

Sqoop導入

導入工具從RDBMS到HDFS導入單個表。表中的每一行被視爲HDFS的記錄。所有記錄被存儲在文本文件的文本數據或者在Avro和序列文件的二進制數據。

Sqoop導出

導出工具從HDFS導出一組文件到一個RDBMS。作爲輸入到Sqoop文件包含記錄,這被稱爲在表中的行。那些被讀取並解析成一組記錄和分隔使用用戶指定的分隔符。