上篇文章功戚,我們一起學(xué)習(xí)了數(shù)據(jù)產(chǎn)品經(jīng)理日常中接觸最多的“數(shù)據(jù)倉庫”的一些基本概念和常見的一些專用名詞缨该,他們都是數(shù)據(jù)產(chǎn)品經(jīng)理成長,學(xué)習(xí)和實(shí)操中不可或缺的重要一環(huán)饰序。
在數(shù)據(jù)倉庫中领虹,我們第一步要面臨并且要完成的就是數(shù)據(jù)“處理”。這里的處理是個廣義的詞求豫,包含所有和數(shù)據(jù)相關(guān)的一系列操作塌衰,專業(yè)名詞就是 ETL。
本文的結(jié)構(gòu)如下
- 什么是 ETL
- ETL 中的實(shí)際應(yīng)用
- ETL 的常見工具
- 總結(jié)
什么是 ETL
首先我們看一下ETL的英文全稱蝠嘉,ETL(Extract-Transform-Load)猾蒂,很明顯哈,這是一個流程:抽仁浅俊(Extract)-轉(zhuǎn)換(Transfrom)-儲存(Load)肚菠。所以數(shù)據(jù)的一切有關(guān)抽取、轉(zhuǎn)換罩缴、儲存的任務(wù)都屬于 ETL蚊逢,這就類似產(chǎn)品經(jīng)理常做的一件事:需求調(diào)研层扶。客戶調(diào)研烙荷、用戶畫像镜会、競品分析、市場數(shù)據(jù)收集等等任務(wù)都屬于需求調(diào)研终抽,這是做產(chǎn)品的第一步也是最重要的一步戳表,如果把產(chǎn)品和技術(shù)明確的劃分開來,這里的技術(shù)大佬做得 ETL 就相當(dāng)于產(chǎn)品經(jīng)理做的需求調(diào)研昼伴。(其實(shí)崗位本沒有界限匾旭,這只是為了方便理解概念的一個比喻)
這是*勾de ETL 工程師的 BD
ETL 的實(shí)際應(yīng)用
上篇文章我們已經(jīng)有一個明確的思維,所有的數(shù)據(jù)分析都是建立在業(yè)務(wù)之上圃郊,旨在為企業(yè)的業(yè)務(wù)提供管理決策上的依據(jù)价涝、運(yùn)維的數(shù)據(jù)可視化、產(chǎn)品迭代更新的方向指引等等持舆,既然數(shù)據(jù)最后的服務(wù)回歸到業(yè)務(wù)和產(chǎn)品色瘩,那么在 ETL 階段,所有的流程逸寓、設(shè)計居兆、細(xì)節(jié)都應(yīng)該為后面的工作做好鋪墊,這樣會讓后面的工作進(jìn)行得更順利竹伸、產(chǎn)出更符合老板“口味”史辙、數(shù)據(jù)視角更加尖銳等等。
ETL 的設(shè)計佩伤,大概可以分為5個步驟進(jìn)行聊倔,當(dāng)然不同的公司可能不同。
1.確定目標(biāo)生巡。
2.確定度量耙蔑。
3.確定數(shù)據(jù)顆粒度。
4.確定維度孤荣。
5.創(chuàng)建事實(shí)表甸陌。
接下來,我們把這5個流程分別介紹一下盐股,你可以對照我舉的例子钱豁,一起來聯(lián)想思考自己的業(yè)務(wù),這樣就能達(dá)到即學(xué)即用疯汁。
確定目標(biāo)牲尺。
這個非常重要,就是你要明確自己的目標(biāo),當(dāng)前你所做的事谤碳,你希望解決什么溃卡?帶來哪些價值?呈現(xiàn)哪些內(nèi)容蜒简?以及后面的衍生擴(kuò)展等等瘸羡。這個和做產(chǎn)品一樣,從最基本的需求出發(fā)搓茬,任何一個產(chǎn)品的面世犹赖,總是:解決了什么,提供了什么卷仑,創(chuàng)造了哪些價值峻村。還是拿我上篇文章的例子,我的目標(biāo)很明確系枪,就是找出“開年后還沒有進(jìn)入工作狀態(tài)的有哪些人”雀哨。目標(biāo)不分大小磕谅,如找出沉睡用戶私爷、確定雙十一爆款商品、挖掘用戶的聽歌習(xí)慣膊夹、算出用戶最感興趣的媒體內(nèi)容等等衬浑,都算是確定目標(biāo),如果你們企業(yè)或者公司只是因?yàn)椤按髷?shù)據(jù)”很火放刨,然后去走這個形式工秩,很膚淺也很危險。確定度量进统。
主題確定之后助币,我們就要考慮要達(dá)到這個目標(biāo),我們需要分析什么螟碎。如:找出利潤增長緩慢的原因眉菱。可以從以下幾個度量入手找數(shù)據(jù):客戶變少掉分?產(chǎn)品和服務(wù)質(zhì)量下降俭缓?材料成本變高?競品的的市場排擠酥郭?等华坦。這個度量就是要分析的數(shù)據(jù),也就是直接導(dǎo)致問題發(fā)生的原因不从,我覺得有些話從富有經(jīng)驗(yàn)的人并且在恰到好處的時候說出來感觸很深惜姐,“沒有包治百病的藥,所有解決方法都應(yīng)該是對癥下藥”椿息。所以在確定度量的時候载弄,除了豐富的業(yè)務(wù)能力外耘拇,需要有一定的邏輯洞察力,你知道增長利潤緩慢上面幾條原因都有可能宇攻,但是拋給你那個問題惫叛,你能把數(shù)據(jù)抽出來和幼兒園的孩子排隊一樣,一個個的羅列分析嗎逞刷?這個需要天賦更多的是需要學(xué)習(xí)嘉涌,不斷的更新自己的思維模式,看得多了夸浅,自然懂的就多仑最。-
確定數(shù)據(jù)的顆粒度
這是基于上個度量展開的,確定度量之后帆喇,我們擁有的數(shù)據(jù)不可能這么全面警医,所以數(shù)據(jù)的顆粒度是需要前期明確的。如材料成本變高坯钦,是因?yàn)椴牧媳旧淼某杀驹せ剩窟€是人工成本?或者廣告成本婉刀?以及促銷成本吟温?等等。這就是數(shù)據(jù)顆粒度的確定突颊,分析可以無休止的下鉆鲁豪,但是對于不同的模型,好的數(shù)據(jù)結(jié)構(gòu)應(yīng)該是恰到好處律秃,起到畫龍點(diǎn)睛的作用爬橡,不冗雜,不多余的棒动。
確定維度
首先我們不要混淆“確定度量”和“確定維度”這兩個概念糙申,維度是一個空間概念,有一定的“方向”含義迁客,比喻:按照時間郭宝、按照地區(qū)、按照產(chǎn)品掷漱;這里的時間粘室、地區(qū)、產(chǎn)品就是我們分析的不同維度卜范,他們從不同的方向上提供具有代表性的數(shù)據(jù)衔统。時間,可得到爆發(fā)式、周期式、“日出而坐日落而息”的習(xí)慣式的數(shù)據(jù);地區(qū)蕊苗,可得到區(qū)域性匕争、分布性魁索、文化特色等數(shù)據(jù);產(chǎn)品,可得到用戶的操作流程、使用習(xí)慣冈绊、尋求客服等數(shù)據(jù)。-
創(chuàng)建事實(shí)表
如果對事實(shí)表不清楚的同學(xué)埠啃,可以看看上篇文章死宣。當(dāng)所有的數(shù)據(jù)分析準(zhǔn)備工作做妥當(dāng)了,展現(xiàn)在你面前的就是海量的數(shù)據(jù)碴开,你需要加載一張最后最希望看到的數(shù)據(jù)表毅该。
比喻以下筆者的幾張截圖,圖中展現(xiàn)的數(shù)據(jù)內(nèi)容潦牛,就是你在事實(shí)表中應(yīng)該儲存的內(nèi)容
ETL 常見的工具
抽瓤粽啤:Sqoop、Kettle罢绽、Flume等
儲存:Hive畏线、HDFS静盅、Hbase等
轉(zhuǎn)換其實(shí)每個過程都會涉及一些良价,每個步驟根據(jù)不同的要求,都會調(diào)整一些參數(shù)或者執(zhí)行一段 SQL蒿叠。
這是一個工具在實(shí)際案例中使用時的截圖
總結(jié)
任何一個方法論都不是萬能的明垢,也沒有一個企業(yè)可以開源一套“包治百病”的工具出來,工具沒有好壞之分市咽,只有在特定的業(yè)務(wù)場景下痊银,誰能發(fā)揮更大的作用之別。掌握這些方法就是讓你在使用過程中有一個參考標(biāo)準(zhǔn)和約束條件施绎,ETL 是建立數(shù)據(jù)倉庫的重要一環(huán)溯革,無論是產(chǎn)品還是技術(shù),這個過程都應(yīng)該下工夫谷醉,磨刀不誤砍柴工就是這個道理致稀,當(dāng)一切準(zhǔn)備就緒,接下來就是見證奇跡的時刻俱尼。