大數據(八) - Sqoop

jopen 8年前發布 | 14K 次閱讀 分布式/云計算/大數據

Sqoop是什么

         Sqoop:SQL-to-Hadoop

        連接 傳統關系型數據庫 和 Hadoop 的橋梁

                把關系型數據庫的數據導入到 Hadoop 系統 ( 如 HDFS HBase 和 Hive) 中;

                把數據從 Hadoop 系統里抽取并導出到關系型數據庫里。

        利用MapReduce加快數據傳輸速度 : 將數據同步問題轉化為MR作業

         批處理方式進行數據傳輸:實時性不夠好


Sqoop優勢</span>
        高效、可控地利用資源

                任務并行度,超時時間等

        數據類型映射與轉換

                可自動進行,用戶也可自定義

        支持多種數據庫

                MySQL

                Oracle

                PostgreSQL


Sqoop import</span>
        將數據從關系型數據庫導入Hadoop中

                步驟1:Sqoop與數據庫Server通信,獲取數據庫表的元數據信息; 

                步驟2:Sqoop啟動一個Map-Only的MR作業,利用元數據信息并行將數據寫入Hadoop。

        特點:可以指定hdfs路徑,指定關系數據庫的表,字段,連接數(不壓垮數據庫),可以導入多個表,支持增量導入(手動指定起始id、事件,或自動記錄上次結束位置,自動完成增量導入)


Sqoop Export</span>
        將數據從Hadoop導入關系型數據庫導中

                步驟1:Sqoop與數據庫Server通信,獲取數據庫表的元數據信息;

                步驟2:并行導入數據:

                        將Hadoop上文件劃分成若干個split;

                        每個split由一個Map Task進行數據導入。


Sqoop與其他系統結合</span>
        Sqoop可以與Oozie、Hive、Hbase等系統結合;


來自: http://blog.csdn.net//matthewei6/article/details/50534566

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!