在消費(fèi)者接觸點(diǎn)碎片化且市場(chǎng)需求變化迅速的現(xiàn)在,如何快速地搜集、集成、分析及應(yīng)用數(shù)據(jù)是企業(yè)能否搶得先機(jī)的關(guān)鍵!常年榮獲Google Cloud合作伙伴獎(jiǎng)的Cloud Ace,此次規(guī)整了可高效實(shí)踐四大數(shù)據(jù)分析步驟的Google Cloud Platform(GCP)工具,及不同需求下的搭配策略,希望協(xié)助企業(yè)在更短的時(shí)間內(nèi)最大化數(shù)據(jù)價(jià)值。
首先,我們最初拿到的資料集通常是原始資料(Raw Data),而這些Raw Data是不能被拿去做任何分析的!因?yàn)槲唇?jīng)處理的Raw Data常會(huì)有資料格式不正確、不一致、空值很多或編碼錯(cuò)誤等問題,也就是所謂的臟數(shù)據(jù)。因此,在執(zhí)行大數(shù)據(jù)分析時(shí),資料前處理往往會(huì)花費(fèi)許多時(shí)間,通過(guò)了解整份資料每個(gè)字段所代表的意義,進(jìn)而根據(jù)這些字段決定該如何處理與清洗,讓整份資料集變成一份可分析的資料,步驟雖繁瑣但也至關(guān)重要。
圖片來(lái)源:freepik
資料前處理其實(shí)就是大家耳熟能詳?shù)腅TL(Extract,Transform,Load),在GCP上,除了可單純使用BigQuery,還可再搭配Cloud Dataflow與Cloud Pub/Sub。針對(duì)即時(shí)資料(Streaming Data),資料產(chǎn)生時(shí)會(huì)觸發(fā)Cloud Pub/Sub并立即通過(guò)Cloud Dataflow加以處理。而針對(duì)批次資料,則可通過(guò)外部工具或自行撰寫的調(diào)度程序,將資料發(fā)送到Cloud Storage(GCS)后,再由Cloud Dataflow進(jìn)行資料處理(詳見下圖)。
其中Cloud Dataflow屬于全托管的資料處理服務(wù),不僅可自動(dòng)安排資料處理流程、部署及管理資源處理作業(yè),還可借由水平調(diào)度工作站資源,提高資源使用率以符合成本效益。另外諸如Dataprep、Dataproc和Data Fusion,也都是GCP上實(shí)用的資料處理工具,下面簡(jiǎn)單介紹這三項(xiàng)工具的用途。
首先,Dataprep可通過(guò)圖形接口(無(wú)需編寫程序代碼)瀏覽、清理及準(zhǔn)備相關(guān)資料(結(jié)構(gòu)化與非結(jié)構(gòu)化資料),也能處理任何規(guī)模的資料,自動(dòng)偵測(cè)結(jié)構(gòu)定義、資料類型及異常(如缺值、離群值和重復(fù)值),此外還會(huì)建議及預(yù)測(cè)最合適的資料轉(zhuǎn)換作業(yè)。而Dataproc則像是GCP上的“全托管式”Apache Hadoop、Spark集群。最后,Data Fusion和Dataprep一樣提供圖形接口,用戶無(wú)需編寫程序代碼就可部署ETL/ELT資料渠道(Data Pipeline)。
通過(guò)GCP完成自動(dòng)化處理與清洗資料后,就可以將這些干凈的資料導(dǎo)入數(shù)據(jù)倉(cāng)庫(kù)(Data Warehouse)中,也就是ETL中的L(Load)。有人也許會(huì)問,為什么不直接把Raw Data放入數(shù)據(jù)倉(cāng)庫(kù)清洗后再做分析呢?原因其實(shí)很簡(jiǎn)單,因?yàn)閿?shù)據(jù)倉(cāng)庫(kù)主要是存放干凈、Schema一致(準(zhǔn)備被分析)的資料;資料湖(Data Lake)才主要用來(lái)存放來(lái)源不同的Raw Data,保留資料原始格式。所以數(shù)據(jù)倉(cāng)庫(kù)基本上只負(fù)責(zé)分析而不負(fù)責(zé)清洗。
圖片來(lái)源:pixabay
在GCP上,GCS及BigQuery是兩大最常用的資料存儲(chǔ)服務(wù)。通常,GCS會(huì)作為Data Lake使用;BigQuery則作為數(shù)據(jù)倉(cāng)庫(kù)使用。其中BigQuery屬于無(wú)服務(wù)器服務(wù)(Serverless Service),不僅容易管理,還具備SQL查詢接口,此外也支持即時(shí)(Streaming pipeline)或批次(Batch pipeline)的資料導(dǎo)入。
有干凈的資料存儲(chǔ)在數(shù)據(jù)倉(cāng)庫(kù)后就可正式開始分析了!如果不是太復(fù)雜的分析,可直接利用BigQuery的SQL查詢接口分析資料,或使用標(biāo)準(zhǔn)SQL語(yǔ)法創(chuàng)建或執(zhí)行機(jī)器學(xué)習(xí)(Mechine Learning,ML)模型。另外,前面提到的資料處理工具Dataflow和Dataproc,也都能作為資料分析的輔助。Dataflow有即時(shí)AI功能,可構(gòu)建各種智能解決方案,包含預(yù)測(cè)分析、異常偵測(cè)、即時(shí)個(gè)性化和其他高端分析用途等。而Dataproc則可通過(guò)Apache Spark ML執(zhí)行機(jī)器學(xué)習(xí),或搭配BigQuery進(jìn)行分析。
圖片來(lái)源:pixabay
最后,GCP也有推出預(yù)測(cè)分析所需的相關(guān)服務(wù),除了上述所提的BigQuery ML,Vertex AI與AutoML的搭配也很推薦!因?yàn)槲覀儾挥脮?huì)寫Code,就可快速創(chuàng)建與訓(xùn)練模型。如要以自訂工具創(chuàng)建ML模型,也能用少少的Code訓(xùn)練出好模型,使用門檻低之外成效也很顯著。
最后,在資料可視化上最常使用的就是Data Studio。易于理解的互動(dòng)式Dashboard圖像報(bào)表讓我們可以在一份報(bào)告中即時(shí)比較、過(guò)濾和組織所需要的確切資料。另外,Data Studio可連接的數(shù)據(jù)源端也很豐富,除了Google本身的BigQuery、Cloud SQL和Google Sheet,也支持AWS的Redshift,加上可以免費(fèi)使用,是企業(yè)能以高效低成本的方式實(shí)現(xiàn)Business Intelligence的有力幫手。
Data Studio接口,截屏自:Google Data Studio官網(wǎng)|2022 Google