資料整合 Flume和Sqoop

2021-07-25 06:01:07 字數 1230 閱讀 2868

flume和sqoop是hadoop資料整合和收集系統,兩者的定位不一樣,下面根據個人的經驗與理解和大家做乙個介紹:

flume由cloudera開發出來,有兩大產品:flume-og和flume-ng,flume-og的架構過於複雜,在尋問當中會有資料丟失,所以放棄了。現在我們使用的是flume-ng,主要是日誌採集,這個日誌可以是tcp的系統的日誌資料,可以是檔案資料(就是通常我們在intel伺服器,通過其中的機構傳過來的介面,或者通過防火牆採集過來的日誌),在hdfs上去儲存,可以和kafka進行整合,這就是flume的功能。     

flume架構是分布式,可以根據需要進行擴充套件flume的節點和數量。它的擴充套件有兩個含義:乙個是橫向的,根據原資料來源的個數、種類不同進行擴充套件;第二個就是縱向的,可以增加更多的匯聚層,去做更多的過程的資料處理,而不是資料載入進來之後再進行轉換。

flume的效能高可靠並且高可用的,可靠性主要體現在兩個方面:一方面就是有乙份資料比較重要,為了保證資料傳輸的可靠性,可以兩個agent指向這份資料,而且兩個agent可以進行示範切換,如果其中乙個失敗,另乙個還可以進行傳輸。另一方面就是在agent的內部可以做快取通透區,接收到資料可以存到磁碟,放到資料庫,縱使agent出問題,資料依然存在。

flume是做日誌採集的,但是更多的資料是從結構化資料庫過來的,這時我們就需要sqoop。sqoop是關係型資料庫和hdfs之間的乙個橋梁,可以實現資料在關係型資料庫與hdfs之間的乙個傳送。那麼我們什麼時候將資料傳遞到hdfs呢?主要是把新增交易,新增賬戶載入過來,寫的時候除了hdfs,還可以寫hive,甚至可以直接去建表。而且可以在源資料庫設立是導整個資料庫,還是導某乙個表,或者導特定的列,這都是常見的在資料倉儲中進行的etl.

sqoop允許增量匯入,增量有兩種,一種是直接追加(比如新增訂單、交易可以追加);另一種是狀態的改變,比如乙個客戶之前是白名單客戶,還款很好,但是如果某個月逾期,加入黑名單,後期還款了又回到白名單,狀態在不停改變,那麼就不能再和交易等一樣做追加,這個時候需要做的就是拉鍊。需要乙個修改的日期,那麼這個狀態有沒有修改,如果修改了,那麼之前載入的怎麼辦?可以通過sqoop進行配置,載入的時候讓它們在hadoop裡面進行更新。我們知道hdfs檔案不能更新,這個時候進行檔案合併,通過合併的方式把文字的資料清除。

Atlas元資料 整合sqoop

atlas整合sqoop文件較少 簡單寫一下,sqoop hook 與hive hook是相輔相成的 environment cdh 6.2.0 sqoop 1.4.7 atlas 2.0.0 hive 2.1.1 我用的cdh版本 1.確保 atlas apache atlas 2.0.0 hoo...

Kafka與flume的整合

為我們的source channel sink起名 a1.sources r1 a1.channels c1 a1.sinks k1 指定我們的source收集到的資料傳送到哪個管道 a1.sources r1.channels c1 指定我們的source資料收集策略 a1.sources r1....

kafka整合flume詳細步驟

對於初學者來說,可能對kafka和flume有一定的了解,但是並沒有過實際的應用,也不知道如何來使用。這篇文章主要針對kafka和flume的整合 環境 linux 準備工作 搭建好zookeeper集群及kafka集群 版本 kafka 2.11 1.1.0,flume 1.8.0 步驟 啟動zo...