2020-09-27【學習筆記】【企業資料湖】五、基於Apache Sqoop的批量資料獲取

qihoo233發表於2020-09-27

一、資料湖背景中的資料獲取

1、資料獲取層

2、批量資料獲取--技術路線圖

二、為什麼使用sqoop

sqoop是一款非常常用的用於向ApacheHadoop傳輸資料的工具

1、sqoop簡史

最早由cloudera開發維護,分為1.X,2.X版本,區別很大

2、sqoop的優勢

  • 支援多種結構化資料
  • sqoop可以將etl中某些環境剔除,轉移到hadoop中執行
  • sqoop可以以並行的方式傳輸資料
  • 幫助從主機中讀取序列檔案,並整合至目標系統
  • 又有可擴充套件機制,可以構建或攔截多種 connector
  • 除了基於JDBC的connector還支援原生工具的connector
  • sqoop支援多種檔案格式

3、sqoop劣勢

  • jdbc與關係型資料庫連線,這種連線比較低效
  • 在進行分析是sqoop執行各種mapreduce任務,這些任務十分耗時
  • sqoop以批量方式傳輸資料時,會給源系統造成一定的壓力

三、sqoop功能

sql to hadoop = sqoop

1、sqoop2架構

2、sqoop1與sqoop2

sqoop2主要設計思路

易用性

易擴充套件性

安全性

3、sqoop功能

當在命令列中輸入一個命令,首先啟動一個map任務,會通過合適的connector連線到相應的RDBMS,檢索相關資料。在map任務結束後,這些資料會交給reduce任務進行處理,這裡資料會被持久化到hdfs,hbase,hive中

4、sqoop匯入資料

5、sqoop匯出資料

四、sqoop connector

sqoop connector在sqoop任務中起到如下作用:

  • 連線到目標資料庫
  • 從資料庫中抽取資料
  • 載入資料到資料庫

sqoop進行資料傳輸時,兩個元件開始起到作用,他們分別是:

  • 驅動
  • 聯結器

sqoop connector的型別

  • 內建的sqoop connector
  • 通用的JDBC connector
  • 特殊的connector
  • 快速的connector
  • 可拔插的外部connector

五、sqoop對HDFS的支援

sqoop為HDFS資料匯入匯出而生。

相關文章