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,對比資料庫內任務狀態...