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檔案包含記錄,這被稱為在表中的行。那些被讀取並解析成一組記錄和分隔使用使用者指定的分隔符。