1、Hadoop離線項目整體技術

離線項目下的Hadoop生態棧

Hadoop生態離線項目
    Hadoop:(無論什麼大數據項目Hadoop是少不了的)
        HDFS MapReduce(主要是做清洗) YARN (大數據項目基本都是跑在yarn資源框架上)
        Hadoop集羣
    Hive:(主要是做計算)
        外部表  (會使用)
        SQL  (會使用)
        數據傾斜  (會遇到的問題)
        優化
        基於元數據管理 (需要拿到元數據管理)
        SQL ==> MapReduce (hive不僅僅是寫sql,重要的是給一個sql語句如何分析生成的stage)
    Flume
    調度:(作業的調度)
        crontab、shell
        Azkaban
    HUE:可視化的notebook   CM
        主要用於排查數據(相對於命令行形式來講非常方便)

項目:通用
    集羣規模==>每臺機器的配置==>機型  (CDH博客介紹裏會有詳細講解)

離線處理架構

domain traffic

1、集羣內的可以用flume,beat,logstash等等採集工具

2、集羣外的數據可以通過sqoop或者spark等一些平臺或者框架來導入(如果從sql來解決就是平臺型的,如果從代碼來解決就是業務型的)這裏都是平臺型來解決。

3、大部分公司都是以天級別來分log文件的;支持各種文本格式。

4、清洗過後的數據一般都是落在hive之上;ETL(mapreduce)出來之後是一個分區表

5、步驟是:數據清洗=》移動數據到數倉=》刷元數據信息 最後用hue等工具展示數據

f9466d75044e46a53977901484af6ce8557.jpg

流程簡述:【重心爲2,3,4】 {mapreduce chain是mapreduce鏈,一個作業緊接一個作業}(圖中邏輯只需要map即可

1、數據採集,外部數據和內部數據(對於sqoop能做的就是字段的選擇和行的過濾實際也就是select和while【也就是隻有map】)【sqoop的map是固定的4個,這個要做適當的調整】

2、做一個etl操作【一端到遠端去讀;把數據讀過來後寫入hdfs;圖中紅字部分就是etl】

3、把原始數據移到target(外部表的位置)【開發來講就是到此爲止】

4、業務統計:SQL(根據業務來定)不同維度不同的表

5、webui展示

 

發佈了121 篇原創文章 · 獲贊 59 · 訪問量 5萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章