文章
lili72
資料平台:
一、 hadoop平台:hbase。hive,storm,spark
1) 部署hadoop到多台機器,調整配置引數,保證正常執行。可能出現作業掛死現象。
2) 部署hiveclient,元資料庫mysql等的配置,hiveclient是不參與集群的。mysql也是安置在另外一台server上集群的。
3) 部署hbase,storm,spark
二 、 排程系統: 資料是每天接入能夠看做是每天要跑的任務。並且任務間存在依賴,須要完好的依賴觸發機制。
1) 把全部的指令碼或者mr,包含資料接入。資料清洗,資料加工都配置成乙個個的任務。記錄這些任務的執行時間,是否存在依賴等
2) 各種型別的任務一定要可控。比方。mr,shell,hive命令統一記錄相應資訊。方便以下的監控預警系統。
三、 監控預警系統:
1) 平台監控與預警:
1.1 hadoop本身的監控系統。看job執行狀況。
1.2 還有對lunixserver的io,cpu,硬碟大小做監控。超過閥值,則發資訊通知相應的負責人。
2) 任務監控與預警:
2.1 任務包含但不僅限於資料採集任務,etl任務,同步到mysql的任務。
這裡的任務可能是乙個mr。或者是乙個shell指令碼,或者其它程式。
監控這些任務的運**況,記錄報錯日誌,傳送報錯資訊到相應負責人。
3) 資料質量監控與預警
3.1 檢查當天資料來源是否正常,比方檔案個數。檔案大小,檔案到達時間等。假設資料來源有問題,事實上任務排程系統就停在資料來源採集任務步驟。
3.2 檢查各資料的指標項的同比,環比,增幅等,看是否有超過閥值的資料,有責預警。
四、 報表展示
1) 前端html5或者hightchars或者多維報表工具展現
資料架構:
1、 首先整體來說,資料是分3層的
1.1 s48-源資料層:
1.1.1 檔案**,分布到多台機器文字檔案,按天或者按小時生成的檔案。通過shell指令碼,執行定時遠端複製,把資料轉移到hdfs中的hive裡,按天或小時分割槽,甚至按分鐘。
操作方式:hive -e \"load data local inpath '$/$/$' overwrite into table ***_database.***_table partition (dt='$',db=$);\"
長處:操作簡便。缺點:無法確保資料的完整性,假設資料沒有正常提供,load命令報錯,須要在load之前加.ok 檔案,確保檔案已經完整提供。
時間點依賴。假設檔案沒有按時過來,該load命令須要推遲執行。(結合排程系統使用)
1.1.2 關係型資料庫**。比方mysql。sqlserver,oracle。
通過定時sqoop到hive中,或者通過開源工具kettle同步到hive,或者寫mr定製匯入資料。
操作方式:分增量或者全量的方式,sqoop 命令,有時sqoop異常,比方源資料庫所在網路組和集群不在同乙個網段。源資料存在特殊字元jdbc-connective不支援
使用kettle生成檔案。然後匯入到hive
總結:三種方式各有各的長處和侷限性。
1.1.3 通過kafka主題分發。實時消費,解析json資料,按天存放到txt檔案,然後匯入到hive中。
有異常(無法解析。
不符合json格式)資料放到bad.txt,其他放在正常業務資料中
保留乙份解析前的資料。同一時候生成乙份解析後的資料。自己主動load到hive中。或者資料直接進入storm中,進行實時計算。
1.2 t48-資料清洗
1.2.1 輕度清洗,比方去除反覆資料(使用udf的row_number),替換某些字元(replace)。切分某些字段(可能乙個字段包括多個語義)。
1.2.3 要充分考慮使用hive的時候。hql的可優化性。減輕平台負擔。
1.3 t68-資料加工,etl過程。分組
1.3.1 依據業務含義,依照不同緯度(平台。版本號。渠道。型別。日期等)彙總,關聯計算等,(比方留存率。活躍使用者數,使用者流失率。總使用者數。總登陸次數等)。
包含行轉列,列轉行。這個過程主要是case when,group by ,(with cube ,rollup,grouping sets )等。
1.4 sqoop到mysql中,或者送到指定的路徑。通過webservice介面服務。
1.4.1 通過sqoop命令或者自己定義mr處理特殊的某些資料,從hive到mysql,因為某些字符集mysql版本號不支援。
(全部的操作都要考慮重跑機制,出錯自己主動又一次發起。追歷史資料,支援傳入引數。有預設引數值)
1 介面確定:
前置條件:業務提出需求形成需求文件。
工作內容:評估需求可行性(依據眼下資料平台架構,能否滿足業務的須要)。分析需求涉及的介面範圍,及時和業務溝通需求點。評估需求花費時間,發需求確認郵件。
產出結果: 確認好的介面文件。(介面文件包含建表的每乙個字段英文和中文說明,表名稱說明,從源到下一層的對映關係詳細說明。碼值含義,評估的每天資料量,儲存週期)
2 etl開發:(包含資料清洗和資料加工)
前置條件:介面文件已經確定完畢
工作內容:etl過程設計,依據介面文件建好表,依據etl設計文件,編寫**。驗證邏輯。大多都是寫hive sql來完畢。
產出結果:審核文件,保證報表資料質量準確。
5 交貨驗收:操作實際使用。
hadoop框架平台
狹義上說hadoop就是乙個框架平台,廣義上講hadoop代表大資料的乙個技術生態 圈,包括很多其他軟體框架 1 hdfs重要概念 namenode 儲存檔案的元資料,比如檔名,檔案目錄結構,檔案屬性,以及每個檔案的塊列表和塊所在的datanode。secondarynamenode 監控hdfs狀...
Mac搭建hadoop平台
1.一直想在虛擬機器下的ubuntu搭建hadoop平台,前段時間全部搞定,最近掛掉了,然後平台搭建出現問題啦。卡了幾天,然後決定拋棄虛擬機器,直接在mac搭建。跟虛擬機器一樣,需要安裝ssh。此文不做介紹。直接介紹hadoop平台的搭建 1 進入 users yangting hadoop 2.9...
hadoop平台時間同步
ntpdate命令 ntpdate u 210.72.145.44 網路時間同步命令 我這邊採用和集群中的某一台機器做時間同步 root had ntpdate u had may 3 03 20 23 ntpdate 4454 step time server 192.168.18.160 off...