阿裏雲大學精品課程:深入理解阿裏雲數加大數據開發套件Data IDE-基本知識
阿裏雲大學精品課程:深入理解阿裏雲數加大數據開發套件Data IDE-基本知識
寫在最前麵
>>>進入了解更多>>>阿裏雲數加·MaxCompute大數據計算服務.
基於阿裏雲數加·MaxCompute構建大數據倉庫的開發工具利器Data IDE《MaxCompute(原ODPS)開發入門指南——數據開發工具篇》,那麼基於Data IDE進行數據開發想必也遇到一些不少的困惑,就自己在培訓過程中的一些經驗或者說阿裏集團內的踩坑之路與大家在此分享,也歡迎拍磚。
大數據倉庫業務架構
類似於傳統數據倉庫,我們都會經曆ETL的過程,E-數據抽取,T-數據轉換,L-數據裝載。但在大數據時代下,數據倉庫在數據清洗建模過程中,稍微有些不同,準確的說,他是ELT的過程。首先需要將散落在各地的數據統一進行數據采集到大數據計算服務上,這個過程就是E和L。然後基於大數據計算服務的大存儲和高性能計算能力進行數據的清洗和轉化,也就是T。具體可以見如下圖:
1.數據采集與整合
根據自己公司業務情況,數據大體可以分為雲業務係統的數據和本地業務係統的數據。雲業務係統數據,可能業務係統已經在雲上了,比如數據就在RDS上或者日誌數據就在ECS上,這種情況開發成本最低,直接可以使用Log或者Data IDE-數據采集模塊進行數據抽取和轉載。而本地業務係統數據,可以詳見>>>金融雲的數據同步處理方式>>>
更多數據上雲方式:【MaxCompute(原ODPS)開發入門指南——數據上雲篇;
2.數據加工、存儲與管理
大數據開發套件Data IDE是基於MaxCompute 之上的數據開發工具,在阿裏巴巴集團內部也是身經百戰,經曆過雙11大考,都得益於其背後強大的調度係統。
數據加工清洗建模都需要用戶在Data IDE中編輯工作流任務,根據自己的業務邏輯來配置上下遊關係和調度時間。支持調度周期類型:**天、小時、分鍾(5的倍數)、月、周**。也就是說在大數據開發套件中如果做數據集成,最小的數據周期顆粒度為5分鍾一次。具體可以在調度配置中進行設置:
隻需要進行下拉框配置即可設置工作流任務的調度周期和任務執行時間。
3.數據應用與消費
數據的清洗、加工最終被下遊係統所消費,主要會進行報表展示或其他更深層次的挖掘分析。那阿裏雲Quick BI也與MaxCompute無縫進行對接,也支持將製作好的報表嵌入到第三方係統中。阿裏雲Quick BI如下示意圖:
4.數據管理
大家從上麵的架構圖中也可以看出,數據隻有流經MaxCompute才可被記錄,包括他的表級別血緣關係和字段級血緣關係。
務必掌握的Data IDE專業術語
項目空間:等同於MaxCompute project,項目空間是大數據開發平台最基本的組織對象,類似於傳統數據庫的DataBase。大數據開發套件的項目空間,是進行多組織隔離和訪問控製的主要邊界,也是用戶管理表(Table)、資源(Resource)、自定義函數(UDF)、節點(Node)、工作流(WorkFlow)、權限等的基本單元。 在大數據開發平台中,一個項目空間對應綁定一個MaxCompute project。
工作流:工作流是一個DAG圖(有向無環圖),其描述了作業中多個節點之間的邏輯(依賴關係)和規則(運行約束)。
工作流任務/節點:工作流任務是一個完整的獨立調度的整體。工作流節點屬於工作流任務的子對象,是數據處理和分析過程的基本單元,每個節點任務對應工作流任務DAG圖中的一個節點,其可以是一個SQL Query、命令和MapReduce程序。
節點任務:節點任務也是一個完整的獨立調度的整體,也是數據處理和分析過程的基本單元。
依賴關係:描述兩個或多個節點/工作流之間的語義連接關係,其中上遊節點/工作流的運行狀態可以影響下遊節點/工作流的運行狀態,反之則不成立。
在大數據開發套件中,節點任務在執行時會被實例化,並以MaxCompute實例的形式存在。實例會經曆未運行、等待時間/等待資源、運行中、成功/失敗幾個狀態。當天晚上23:30節點轉實例!
當天晚上23:30節點轉實例!也就是說,在當天23:30之前提交到調度係統的配置項都會轉實例即生效,過了這個點提交的任務則需要再隔一天進行生效。這一點務必注意!!!!
- 資源:資源是大數據開發套件的特有概念,用戶可以上傳本地自定義的JAR或文件作為資源,在節點運行時調用。如MaxCompute MR需要上傳jar包作為資源來進行執行。
角色隔離
在大數據時代,數據是一個公司的生命,在一個團隊中如何進行一個角色和權限的隔離,以保障數據的安全性。那Data IDE在角色和權限上也做了很多工作,總體上角色可以分為:組織管理員、項目管理員、開發、運維、部署和訪客。具體如下:
項目空間的設置
在阿裏雲數加·大數據開發套件中,也提供了多項目空間之間的發布流程,但是在業務劃分過程中,需要根據自己公司業務情況來定,一般情況下可以按照如下規則來進行項目的配置:
- 創建單個項目空間:適用於業務較單一,成員角色基本一致,無需嚴格的經過數據開發>測試>預發>生產等開發流程。
- 創建開發/生產項目空間:適用於業務相對複雜,又對生產安全性要求很高的,需要經過開發>測試>生產流程。
↓↓↓↓分割線↓↓↓↓
之前斷斷續續寫了幾篇,也有幾篇一直是熱文,對大家在開發過程中也起到了一定的幫助作用。總體羅列如下,給大家提供個索引:
① 【數據架構解讀】基於阿裏雲數加StreamCompute和MaxCompute構建的訪問日誌統計分析;
② 【Best Practice】基於阿裏雲數加·StreamCompute快速構建網站日誌實時分析大屏;
③ 【Best Practice】基於阿裏雲數加·MaxCompute及Quick BI構建網站用戶畫像分析;
④ 【MaxCompute(原ODPS)開發入門指南——計量計費篇;
⑤ 【MaxCompute(原ODPS)開發入門指南——數據上雲篇;
⑥ MaxCompute(原ODPS)開發入門指南——數據開發工具篇;
---華麗的分割線---
① 《雲數據·大計算:海量日誌數據分析與應用》Workshop-入口;
② 《在線用戶行為分析:基於流式計算的數據處理及應用》Workshop-入口;
最後更新:2017-06-23 23:34:41