“工欲善其事捣卤,必先利其器”忍抽,作為一名數(shù)據(jù)產(chǎn)品經(jīng)理,不論是做數(shù)據(jù)分析董朝,還是搭建數(shù)據(jù)平臺(tái)鸠项,你必須要掌握很多工具,這樣才能得心應(yīng)手子姜。下面祟绊,將從簡(jiǎn)單的 Excel 說(shuō)起楼入,到R,再到數(shù)據(jù)平臺(tái)需要的工具和技術(shù)牧抽,由易到難嘉熊,幫你在工具上全方位掌握數(shù)據(jù)產(chǎn)品經(jīng)理的必備技能。
數(shù)據(jù)分析利器—Excel
相信每個(gè)人都會(huì)用一些 Excel的簡(jiǎn)單功能扬舒,可是阐肤,作為一名數(shù)據(jù)產(chǎn)品經(jīng)理,僅僅掌握這些功能是不能滿(mǎn)足大數(shù)據(jù)量分析需求的讲坎。首先你要掌握以下一些常用函數(shù):
日期函數(shù):day,month,year,date,today,weekday,weeknum
數(shù)學(xué)函數(shù):product,rand,round,sum,sumif,sumproduct
統(tǒng)計(jì)函數(shù):large,small,max,min,rank,count,countif,average,averageif
查找和引用函數(shù):choose,match,index,column,row,vlookup,hlookup,lookup,offset
文本函數(shù):find,search,text,value,left,right,mid,len
邏輯函數(shù):and,or,if,false,true
掌握了這些函數(shù)孕惜,就可以對(duì)經(jīng)常分析的業(yè)務(wù)建立一個(gè)數(shù)據(jù)模板,例如業(yè)務(wù)大盤(pán)日?qǐng)?bào)晨炕,這樣就省去了手動(dòng)計(jì)算大量數(shù)據(jù)的麻煩衫画,根據(jù)模板自動(dòng)更新新增數(shù)據(jù),直接顯示結(jié)果瓮栗。
接下來(lái)說(shuō)一下Excel數(shù)據(jù)分析非常好用的另一個(gè)利器—數(shù)據(jù)透視表削罩,它可以快速的把大量數(shù)據(jù)生成可以分析和展現(xiàn)的報(bào)表,而且可以隨意組織選擇各種維度和值费奸,就像一個(gè)魔方弥激,你可以自由組合查看不同角度的不同結(jié)果,它把復(fù)雜的公式轉(zhuǎn)化成了簡(jiǎn)單的數(shù)據(jù)分析愿阐,非常實(shí)用易上手秆撮。通過(guò)數(shù)據(jù)透視表,你可以實(shí)現(xiàn)以下幾種功能:
自動(dòng)計(jì)算分類(lèi)間的數(shù)據(jù)匯總换况,計(jì)數(shù)职辨,最大值,最小值戈二,平均值等舒裤。
自動(dòng)排序、分組以及分組觉吭。
分析環(huán)比腾供、同比、定基比等鲜滩。
根據(jù)業(yè)務(wù)邏輯進(jìn)行個(gè)性化分析伴鳖。
數(shù)據(jù)分析及可視化強(qiáng)大語(yǔ)言—R
R是一種為統(tǒng)計(jì)計(jì)算和繪圖而生的語(yǔ)言和環(huán)境,它是一套開(kāi)源的數(shù)據(jù)分析解決方案徙硅。其功能包括:數(shù)據(jù)存儲(chǔ)和處理系統(tǒng)榜聂;數(shù)組運(yùn)算工具(其向量、矩陣運(yùn)算方面功能尤其強(qiáng)大)嗓蘑;完整連貫的統(tǒng)計(jì)分析工具须肆;優(yōu)秀的統(tǒng)計(jì)制圖功能匿乃;簡(jiǎn)便而強(qiáng)大的編程語(yǔ)言:可操縱數(shù)據(jù)的輸入和輸入,可實(shí)現(xiàn)分支豌汇、循環(huán)幢炸,用戶(hù)可自定義功能 。
與其說(shuō)R是一種統(tǒng)計(jì)軟件拒贱,還不如說(shuō)R是一種數(shù)學(xué)計(jì)算的環(huán)境宛徊,因?yàn)镽并不是僅僅提供若干統(tǒng)計(jì)程序、使用者只需指定數(shù)據(jù)庫(kù)和若干參數(shù)便可進(jìn)行一個(gè)統(tǒng)計(jì)分析逻澳。
R的思想是:它可以提供一些集成的統(tǒng)計(jì)工具岩调,但更大量的是它提供各種數(shù)學(xué)計(jì)算、統(tǒng)計(jì)計(jì)算的函數(shù)赡盘,從而使使用者能靈活機(jī)動(dòng)的進(jìn)行數(shù)據(jù)分析,甚至創(chuàng)造出符合需要的新的統(tǒng)計(jì)計(jì)算方法缰揪。 R內(nèi)建多種統(tǒng)計(jì)學(xué)及數(shù)字分析功能陨享。
R其實(shí)還是一個(gè)蠻專(zhuān)業(yè)的一個(gè)工具,要想了解更多的R語(yǔ)言知識(shí)钝腺,可以去官網(wǎng) http://www.rproject.cn/ 下載安裝程序和資料進(jìn)行深入學(xué)習(xí)抛姑。
搭建數(shù)據(jù)平臺(tái)必備—Hadoop
Hadoop是一個(gè)分布式系統(tǒng)基礎(chǔ)架構(gòu),現(xiàn)在被廣泛的應(yīng)用于大數(shù)據(jù)平臺(tái)的開(kāi)發(fā)中艳狐,對(duì)處理海量數(shù)據(jù)定硝,有著其他技術(shù)無(wú)可匹敵的優(yōu)勢(shì)。
Google File System毫目、Map-Reduce與BigTable被譽(yù)為分布式計(jì)算的三駕馬車(chē)蔬啡,其中 Google File System用來(lái)解決數(shù)據(jù)存儲(chǔ)的問(wèn)題,采用N多臺(tái)廉價(jià)的電腦镀虐,使用冗余的方式箱蟆,來(lái)取得讀寫(xiě)速度與數(shù)據(jù)安全并存的結(jié)果。 Map-Reduce說(shuō)白了就是函數(shù)式編程刮便,把所有的函數(shù)都分為兩類(lèi)空猜,Map和Reduce,Map用來(lái)將數(shù)據(jù)分成多份恨旱,分開(kāi)處理辈毯,Reduce將處理的結(jié)果進(jìn)行歸并,得到最終的結(jié)果搜贤。 BigTable是在分布式系統(tǒng)上存儲(chǔ)結(jié)構(gòu)化數(shù)據(jù)的一個(gè)解決方案谆沃,解決了巨大的Table的管理、負(fù)載均衡的問(wèn)題仪芒。
下面兩張圖有助于從大致框架和結(jié)構(gòu)上理解Hadoop管毙。
HAdoop體系架構(gòu)
Hadoop核心設(shè)計(jì)
除了Hadoop體系架構(gòu)那些基礎(chǔ)工具外腿椎,數(shù)據(jù)產(chǎn)品經(jīng)理還需要對(duì)以下幾個(gè)基礎(chǔ)工具做一些了解。
ELASTIC SEARCH:基于Lucene的搜索服務(wù)器夭咬。提供了一個(gè)分布式多用戶(hù)能力的全文搜索引擎啃炸,基于RESTful web接口。Elasticsearch作為Apache許可條款下的開(kāi)放源碼發(fā)布卓舵,是當(dāng)前流行的企業(yè)級(jí)搜索引擎南用。設(shè)計(jì)用于云計(jì)算中,能夠達(dá)到實(shí)時(shí)搜索掏湾,穩(wěn)定裹虫,可靠,快速融击,安裝使用方便筑公。
Memcached:Memcached 是一個(gè)高性能的分布式內(nèi)存對(duì)象緩存系統(tǒng),用于動(dòng)態(tài)Web應(yīng)用以減輕數(shù)據(jù)庫(kù)負(fù)載尊浪。它通過(guò)在內(nèi)存中緩存數(shù)據(jù)和對(duì)象來(lái)減少讀取數(shù)據(jù)庫(kù)的次數(shù)匣屡,從而提高動(dòng)態(tài)、數(shù)據(jù)庫(kù)驅(qū)動(dòng)網(wǎng)站的速度拇涤。一般的使用目的是捣作,通過(guò)緩存數(shù)據(jù)庫(kù)查詢(xún)結(jié)果,減少數(shù)據(jù)庫(kù)訪問(wèn)次數(shù)鹅士,以提高動(dòng)態(tài)Web應(yīng)用的速度券躁、提高可擴(kuò)展。
Redis:開(kāi)源的使用ANSI C語(yǔ)言編寫(xiě)掉盅、支持網(wǎng)絡(luò)也拜、可基于內(nèi)存亦可持久化的日志型、Key-Value數(shù)據(jù)庫(kù)趾痘,并提供多種語(yǔ)言的API搪泳。 為了保證效率,數(shù)據(jù)都是緩存在內(nèi)存中扼脐,區(qū)別的是Redis會(huì)周期性的把更新的數(shù)據(jù)寫(xiě)入磁盤(pán)或者把修改操作寫(xiě)入追加的記錄文件岸军,并且在此基礎(chǔ)上實(shí)現(xiàn)了主從同步。 Redis的出現(xiàn)瓦侮,很大程度補(bǔ)償了Memcached這類(lèi)key/value存儲(chǔ)的不足艰赞,在部分場(chǎng)合可以對(duì)關(guān)系數(shù)據(jù)庫(kù)起到很好的補(bǔ)充作用。
Kafka:Kafka是一種高吞吐量的分布式發(fā)布訂閱消息系統(tǒng)肚吏,它可以處理消費(fèi)者規(guī)模的網(wǎng)站中的所有動(dòng)作流數(shù)據(jù)方妖。 這種動(dòng)作(網(wǎng)頁(yè)瀏覽,搜索和其他用戶(hù)的行動(dòng))是在現(xiàn)代網(wǎng)絡(luò)上的許多社會(huì)功能的一個(gè)關(guān)鍵因素罚攀。 這些數(shù)據(jù)通常是由于吞吐量的要求而通過(guò)處理日志和日志聚合來(lái)解決党觅。 對(duì)于像Hadoop的一樣的日志數(shù)據(jù)和離線分析系統(tǒng)雌澄,但又要求實(shí)時(shí)處理的限制,這是一個(gè)可行的解決方案杯瞻。
Kafka集群可以在一個(gè)指定的時(shí)間內(nèi)保持所有發(fā)布上來(lái)的消息镐牺,不管這些消息有沒(méi)有被消費(fèi)。打個(gè)比方魁莉,如果這個(gè)時(shí)間設(shè)置為兩天睬涧,那么在消息發(fā)布的兩天以?xún)?nèi),這條消息都是可以被消費(fèi)的旗唁,但是在兩天后畦浓,這條消息就會(huì)被系統(tǒng)丟棄以釋放空間。Kafka的性能不會(huì)受數(shù)據(jù)量的大小影響检疫,因此保持大量的數(shù)據(jù)不是一個(gè)問(wèn)題讶请。
Storm:Storm是分布式數(shù)據(jù)處理的框架,本身幾乎不提供復(fù)雜事件計(jì)算屎媳。Storm用于實(shí)時(shí)處理夺溢,就好比 Hadoop 用于批處理。Storm保證每個(gè)消息都會(huì)得到處理剿牺,而且它在一個(gè)小集群中,每秒可以處理數(shù)以百萬(wàn)計(jì)的消息环壤。
Storm 應(yīng)用領(lǐng)域包括實(shí)時(shí)分析晒来、在線機(jī)器學(xué)習(xí)、信息流處理(例如郑现,可以使用Storm 處理新的數(shù)據(jù)和快速更新數(shù)據(jù)庫(kù))湃崩、連續(xù)性的計(jì)算(例如,使用Storm 連續(xù)查詢(xún)接箫,然后將結(jié)果返回給客戶(hù)端攒读,如將微博上的熱門(mén)話題轉(zhuǎn)發(fā)給用戶(hù))、分布式RPC(遠(yuǎn)過(guò)程調(diào)用協(xié)議辛友,通過(guò)網(wǎng)絡(luò)從遠(yuǎn)程計(jì)算機(jī)程序上請(qǐng)求服務(wù))薄扁、ETL(Extraction Transformation Loading,數(shù)據(jù)抽取废累、轉(zhuǎn)換和加載)等邓梅。