發表文章

目前顯示的是有「Sqoop」標籤的文章

Hadoop 生態系統當中的Flume,Sqoop ,Pig,Hive

圖片
Hadoop 生態系統由支持彼此進行大數據處理的組件組成。  我們可以根據各種階段檢查 Hadoop 生態系統。  當從多個來源接收數據時,Flume 和 Sqoop 負責攝取數據並將它們傳輸到存儲組件 HDFS 和 HBase。 然後,數據被分配到像 Pig 和 Hive 這樣的 MapReduce 框架來處理和分析數據,並通過並行計算來完成處理。  Sqoop (SQL to Hadoop) Sqoop 於 2012 年 3 月正式從孵化專案畢業,成為 Apache 的頂級專案。 Apache Sqoop 是一個專為在 Hadoop 和結構化資料存儲(例如關聯式資料庫)之間 高效傳輸大量資料而設計的工具。 Sqoop 允許使用者從關聯式資料庫(RDBMS)中擷取資料到 Hadoop,供後續分析使用。 Sqoop 也能將分析結果匯入資料庫,供其他用戶端程式使用。 它使用 JDBC 來存取關聯系統。 Sqoop 存取資料庫以了解要傳輸的資料結構,並生成一個 MapReduce 應用程式來匯入或匯出資料。 當使用 Sqoop 將資料匯入 Hadoop 時,Sqoop 會生成一個 Java 類別來封裝匯入表中的每一row。 Sqoop 匯入命令用於從關聯式資料表提取資料並載入到 Hadoop 中。 HDFS 中的每一筆資料於資料表中的每一row。 匯入到 HDFS 的資料可以存為文字檔案、二進位檔案,或直接匯入到 HBase 或 Hive。 預設情況下,會匯入all rows of a table,但可透過參數指定特定的columns或使用 WHERE 子句限制匯入的rows。甚至可以自行定義查詢來存取關聯式資料。 若需指定匯入資料的存放位置,可以使用 --target-dir 參數。否則,目標目錄名稱將與資料表名稱相同。 欄位與記錄格式預設使用逗號分隔欄位,每條記錄以換行符號結束。匯入與匯出指令都可以覆寫此行為。 Sqoop 提供命令列介面來傳輸資料,支援以下功能: 從單一資料庫表或free-form SQL 查詢進行增量載入(incremental loads)。 使用腳本,在需要時匯入自上次匯入以來對資料庫的更新。 將資料載入 Hive 或 HBase 的資料表中。(populate tables in Hive or HBase) 無...