Hadoop離線專案處理流程

2021-09-13 20:52:02 字數 1770 閱讀 2212

1.企業級專案開發流程

綠色字型

紅色字型

粉色字型

藍色字型

專案調研:技術?業務?

產品經理、非常熟悉業務、專案經理

需求分析:做什麼 做成什麼樣

使用者提出來的:顯式

隱式方案設計

概設詳設

系統設計

功能開發

開發測試:單元測試 cicd

測試 功能

聯調效能

使用者 試用

部署上線

試執行 diff 穩定性

正式上線 灰度

後期 2 3 4 運維保障 功能開發 bug修復

企業級大資料應用平台:

資料分析:自研 + 商業

搜尋/爬蟲

機器學習/深度學習

人工智慧

離線 實時

2.hadoop生態離線專案

涉及到的技術

hadoop生態離線專案

hadoop:

hdfs mapreduce(清洗) yarn

hadoop集群

hive:

外部表

sql

資料傾斜

優化基於元資料管理

sql ==> mapreduce

flume

排程:crontab、shell

azkaban

hue:視覺化的notebook cm

排查資料

面試會問: 你們的集群規模是多少?=>每台機器的配置是什麼?=>機型(物理機)是什麼?

3.離線處理架構:

需要先將日誌用flume方式從某個server上採集日誌資訊到hdfs上(建議壓縮的文字格式),或者用sqoop/spark技術從rdbms上採集過來。

原始的日誌資訊不規整,需要有乙個etl操作,(比如mapreduce或者sqark來實現),有乙個解析、規則匹配的過程。

清洗之後的資料放在hdfs上的乙個地方,對應分割槽表。(hive外部表)

(分割槽其實就是hdfs上的乙個key=value的目錄,外加一批元資料資訊。)

還要通過alter刷一下元資料資訊才能通過hive查到表裡的資料。

最後通過 web ui 介面(比如hue、zeppelin、bi展示工具),把結果展示出來。

整個流程步驟:

①資料採集:從web server用flume採集到hadoop

②做乙個etl過程

③把清洗後的資料移到目標目錄(外部表)

④業務統計:考驗sql的能力 執行的結果放在dest table裡。

⑤web ui介面展示

開發的重點是②③④

關於etl過程:(在這裡先用mapreduce來進行操作)

對於之前的用sqoop從rdbms抽資料到hadoop上,etl操作只涉及到map,而不涉及reduce。

這個過程其實是字段的選擇和行的過濾,就是select where

mapreduce的兩個階段,map階段處理後的資料,會經過shuffle端,到reduce端,由reduce端進行統一的規約的操作。

而sqoop只是資料的匯入和匯出,可以研究一下sqoop的工作原理。所以只是涉及map。

1)map去hdfs的input資料夾(原始的日誌資料)下讀取資料

2)map方法中進行資料的清洗操作,清洗不符合規範的資料

離線大資料專案流程

mapreduce 資料清洗 hive textfile格式 create table 表名 a string b string row format delimited fields terminated by 指定分隔符 stored as textfile load data local in...

hadoop啟動頁面 hadoop啟動流程

1 集群分布 啟動hadoop流程 1 關閉防火 機器 node01 04 命令 service iptables stop 2 啟動zk 機器 node02 04 命令 zkserver.sh start 3 啟動hadoop 機器 node01 start dfs.sh hadoop daemo...

離線下發專案

郵件伺服器審核說明 1 定時掃瞄郵件,對所有 未讀 狀態郵件進行掃瞄,如果沒有郵件則不進行任何操作,如果有郵件則進行以下流程 2 掃瞄附件,必須包含excel附件1個,可包含附件1個,以上任一條不滿足系統將自動發郵件說明並不進行下面流程 3 掃瞄excel內a1單元格的任務id,對比資料庫內任務狀態...