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 Work

Sqoop 匯入

匯入工具將各個表格從 RDBMS 匯入到 HDFS 中。表格中的每一行都作為 HDFS 中的一條記錄進行處理。所有記錄都作為文字檔案中的文字資料或作為 Avro 和 Sequence 檔案中的二進位制資料進行儲存。

Sqoop 匯出

匯出工具將一組檔案從 HDFS 匯出回 RDBMS 中。作為 Sqoop 輸入的檔案包含被稱為表格中行的記錄。對這些記錄進行讀入並解析成一組記錄,並使用使用者指定的定界符分隔。

廣告