天天看點

極簡資料分析法無處不在的資料資料分析與資料倉庫次元模組化-星型模型資料分析與次元模組化資料分析平台Tableau X Maxcompute使用Tableau進行資料分析OLAP系統結語

無處不在的資料

在網際網路時代的浪潮中,資料驅動業務已成為業界的共識.在資料貧乏的年代,流行的是粗放型經濟,大部分的決策用的都是拍腦袋大法.在人工智能早已寫進國小課本的今天,使用資料進行精準決策成為主流.使用者在網絡世界的每個動作,都對應着資料庫裡的一條甚至多條資料.浏覽、點選、搜尋、收藏、下單、分享.......這些行為背後,都是成堆的資料.通過分析這些資料,可以刻畫使用者的偏好、發現産品的缺陷、洞察市場趨勢,後面的故事你們都懂的.終極奧義就是提升使用者體驗(資本利益最大化).

極簡資料分析法無處不在的資料資料分析與資料倉庫次元模組化-星型模型資料分析與次元模組化資料分析平台Tableau X Maxcompute使用Tableau進行資料分析OLAP系統結語

資料分析與資料倉庫

資料分析能有什麼原則呢?Excel處理資料誰都會,麻煩點的用Python呗.在業務體量初步增長的階段,資料量較少,用excel就足夠了.不過資料多了就hold不啦,得上資料庫了.Python擅長資料處理是衆所周知的,一個pandas搞定所有,再加上可視化工具包便可打遍天下無敵手,畢竟資料科學一哥的名号可不是吹的.昨天去水果店裡買黃瓜,店老闆還在看7天精通python資料分析的網課呢.但是畢竟不是人人都是資料分析師啊,資料的結果要想直覺及時的呈現給業務同學同時又不讓他們抓狂的話,還是收好Python腳本吧.

前面提到過, 公司發展的初步階段, 資料量較小,用excel或者臨時腳本分析業務資料已經足夠.但是當公司資料積累到一定程度之後,對資料分析的次元和名額要求越來越高, 同時腳本處理資料時間太長, 就需要上資料倉庫了.資料倉庫,顧名思義,就是将資料收集并存儲起來,将各種來源的資料,按照業務邏輯進行加工,當老闆們需要使用資料的時候,直接從資料倉庫裡面取就可以了,不用再臨時跑腳本.當其餘部門需要使用資料的時候,也不用各種拼湊,直接從資料倉庫裡面提取他們需要的資料.

極簡資料分析法無處不在的資料資料分析與資料倉庫次元模組化-星型模型資料分析與次元模組化資料分析平台Tableau X Maxcompute使用Tableau進行資料分析OLAP系統結語

那麼資料分析和資料倉庫有什麼關系呢?簡單來說,資料倉庫為資料分析提供基礎資料,而資料分析挖掘出的有價值的資料分析方法(業務口徑),也會回流到資料倉庫,沉澱為新的次元或着名額,兩者相輔相成.隻有資料分析而沒有資料倉庫,分析資料的準備過程會痛苦不堪,而且由于每次取數的口徑不同,會導緻分析出來的資料有差異,可信度不高.隻有資料倉庫而沒有資料分析,則無法實作資料驅動業務的目的.

極簡資料分析法無處不在的資料資料分析與資料倉庫次元模組化-星型模型資料分析與次元模組化資料分析平台Tableau X Maxcompute使用Tableau進行資料分析OLAP系統結語

關于資料倉庫,在阿裡巴巴大資料之路中有很好的介紹,根據阿裡集團大資料建設的經驗,講解了資料倉庫建設疊代的曆程.另外一本書資料倉庫工具箱,詳細的介紹了次元模組化理論在資料倉庫中的使用.

次元模組化-星型模型

次元模組化是一門很實用的理論,但要講好它是在不易,本文僅介紹次元模組化中常用的星型模型以及它在資料分析中的使用.

下圖是一個星型模型,中間的表我們稱為事實表,記錄現實世界中的操作,比如使用者的一次浏覽行為或者使用者的一次購買行為.四周與事實表相連的表稱為次元表,用于存儲事實表中實體的屬性,如事實表中有客戶id,客戶維表中則存儲客戶的資訊,如地理位置,性别,年齡,行業等.

為什麼要把資料整理成這個樣子呢?到底哪些資料要放到事實表中,哪寫資料要放到次元表中呢?哈哈哈,這個問題真是一言難盡,除非在實際的資料開發過程中來體會,否則真的很難解釋清楚.各位自行體會吧.但是不得不說,這樣來存儲資料,使用起來真的很友善.如今次元模組化理論已經是各大網際網路公司的标配了,

極簡資料分析法無處不在的資料資料分析與資料倉庫次元模組化-星型模型資料分析與次元模組化資料分析平台Tableau X Maxcompute使用Tableau進行資料分析OLAP系統結語

資料分析與次元模組化

資料分析的目标是挖掘資料的商業價值,其使用的工具有很多種,excel,python,sql等等, 工作中最常用的是sql了, 是以從事資料行業的同學常常被稱為sql boy.

極簡資料分析法無處不在的資料資料分析與資料倉庫次元模組化-星型模型資料分析與次元模組化資料分析平台Tableau X Maxcompute使用Tableau進行資料分析OLAP系統結語

當然寫sql也是有不同的境界的,如果每次都是一堆嵌套,大表套小表外加各種奇怪的where條件的,絕大部分情況都是次元模組化沒有做好.良好的次元模型取數的sql是非常簡潔的,隻需要一個事實表連接配接需要的次元表即可取到任何需要的資料.

極簡資料分析法無處不在的資料資料分析與資料倉庫次元模組化-星型模型資料分析與次元模組化資料分析平台Tableau X Maxcompute使用Tableau進行資料分析OLAP系統結語

資料分析平台

資料分析平台有很多選擇,可以自建,也可以用第三方雲服務,福祿目前采用的是阿裡雲的Maxcompute服務.在實際的開發過程中,隻需要在工作取些好sql即可運作出數,配置排程任務也十分友善.但是在上面觀察資料就不太友善了,有時候分析資料需要進行一些篩選,排序,透視圖的功能,雖然阿裡雲也提供了配套的線上excel分析功能,不過使用起來很雞肋,還不如下載下傳到本地用excel觀察.

資料拉取到本地是一件體驗感很不好的事情,首先從公司的角度要考慮資料安全新,其次開發人員每次拉取資料,同一份資料儲存不同的版本很令人抓狂的,再說磁盤也扛不住啊.

極簡資料分析法無處不在的資料資料分析與資料倉庫次元模組化-星型模型資料分析與次元模組化資料分析平台Tableau X Maxcompute使用Tableau進行資料分析OLAP系統結語

Tableau X Maxcompute

怎麼辦呢?有沒有可以線上展示資料,進行多元分析的工具呢?阿裡雲提供了很多解決方案,其中之一就是Tableau連接配接Maxcompute.Tableau官方文檔參考這裡

極簡資料分析法無處不在的資料資料分析與資料倉庫次元模組化-星型模型資料分析與次元模組化資料分析平台Tableau X Maxcompute使用Tableau進行資料分析OLAP系統結語

首先安裝準備maxcompute RAM賬号進行jdbc連接配接

極簡資料分析法無處不在的資料資料分析與資料倉庫次元模組化-星型模型資料分析與次元模組化資料分析平台Tableau X Maxcompute使用Tableau進行資料分析OLAP系統結語

配置賬号資訊點選登陸即可,文檔參見 阿裡雲官方文檔

極簡資料分析法無處不在的資料資料分析與資料倉庫次元模組化-星型模型資料分析與次元模組化資料分析平台Tableau X Maxcompute使用Tableau進行資料分析OLAP系統結語

然後就可以再側邊欄選擇表,建構星型模型進行分析啦.

使用Tableau進行資料分析

選擇表,建構星型or雪花模型,資料模型建構文檔參考

極簡資料分析法無處不在的資料資料分析與資料倉庫次元模組化-星型模型資料分析與次元模組化資料分析平台Tableau X Maxcompute使用Tableau進行資料分析OLAP系統結語

也可以使用自定義SQL哦

極簡資料分析法無處不在的資料資料分析與資料倉庫次元模組化-星型模型資料分析與次元模組化資料分析平台Tableau X Maxcompute使用Tableau進行資料分析OLAP系統結語

標明次元,字段,或者建立自定義次元和自定義字段,即可實作資料可視化了

極簡資料分析法無處不在的資料資料分析與資料倉庫次元模組化-星型模型資料分析與次元模組化資料分析平台Tableau X Maxcompute使用Tableau進行資料分析OLAP系統結語

這樣的開發模式對資料分析的場景是很贊的,首先資料直連資料倉庫,不用擔心資料不一緻的問題,其次互動式的建構星型模型,不用每次都寫一樣的代碼,當然習慣sql的同學使用自定義sql同樣可以取數.最友善的功能就在于次元和度量的互動式選取,以及豐富的圖表展示功能了,這樣可以讓分析師直覺的感受到資料的分布,進而及時對業務口徑的品質進行評估, 洞察業務資料發現商機.

OLAP系統

在傳統的資料倉庫裡,每次的資料都需要人工清洗彙總,但是當公司體量進一步發展,對資料的需求會不斷增加,人工取數的方式不再能滿足營運需求,是以OLAP系統登場了.

何為OLAP?及席查詢系統是也. 它允許使用者從多元度自行對資料進行查詢,拆解.盜取網圖一張.

極簡資料分析法無處不在的資料資料分析與資料倉庫次元模組化-星型模型資料分析與次元模組化資料分析平台Tableau X Maxcompute使用Tableau進行資料分析OLAP系統結語

其實Tableau聯合Maxcompute的使用方式,已經有OLAP系統的雛形了,使用者可以在Tableau裡面對資料進行自由的探索,建立自己的面闆及時洞察資料.資料開發同學隻需要加工好次元表和dwd/dws表并在Tableau上建立好模型即可.

需要注意的點是資料安全以及Tableau面闆資料沉澱到資料倉庫的過程.

另外一個需要注意的點是Maxcompute計算速度較慢的問題,解決方案之一是使用Hologres對Maxcompute的表進行加速計算,将Maxcompute的表映射到Hologres中,即可實作加速查詢.Tableau後續隻需和Hologres連接配接, 即可打通流程.

結語

工欲善其事,必先利其器.好的工具可以讓我們事半功倍.此外我們還需要提高自己的内功,不然就算找到了大師劍,你也拔不出來啊.

極簡資料分析法無處不在的資料資料分析與資料倉庫次元模組化-星型模型資料分析與次元模組化資料分析平台Tableau X Maxcompute使用Tableau進行資料分析OLAP系統結語

福祿·大資料 墨痕