編寫SQL時(shí),分析師要經(jīng)?;仡櫼郧熬帉懙牟樵儯员阍谶m當(dāng)情況下復(fù)用已經(jīng)創(chuàng)建的代碼。遺憾的是,這一存在缺陷的過程會(huì)導(dǎo)致復(fù)制和粘貼小的查詢片段,并重新組合它們以形成新的查詢。重新組合SQL片段并調(diào)試生成的SQL語句可能既耗費(fèi)時(shí)間又消耗資源,易出錯(cuò)且擴(kuò)展性差。
利用LookML進(jìn)行DRY數(shù)據(jù)建模
LookML提供一種新的高效工具,使建模更快捷、更可復(fù)用。進(jìn)行數(shù)據(jù)分析時(shí),LookML會(huì)防止您編寫重復(fù)代碼。借助LookML,只需編寫一次代碼段,即可將其作為更易于管理的通用、可復(fù)用查詢組件。在計(jì)算機(jī)科學(xué)中,這一概念被稱為DRY(Don’t Repeat Yourself,避免重復(fù)代碼),它有助于顯著節(jié)省時(shí)間。據(jù)報(bào)告,使用Looker的分析團(tuán)隊(duì)能夠平均節(jié)省70%的時(shí)間,部分原因在于采用LookML工具以DRY原則建模帶來的效率提升。
圖1:通過LookML將SQL片段轉(zhuǎn)換為可復(fù)用的代碼
一旦編寫完模型,Looker將讀取模型并在一個(gè)非編碼者可訪問的可視化點(diǎn)擊式界面中呈現(xiàn)模型。當(dāng)用戶構(gòu)建其查詢時(shí),Looker在后臺(tái)自動(dòng)執(zhí)行生成優(yōu)化后SQL代碼的復(fù)雜工作。Looker能夠使其生成的SQL適應(yīng)50多種特定的數(shù)據(jù)庫語言,以得到語義正確且效率最高的SQL查詢。
在項(xiàng)目間共享代碼
以項(xiàng)目形式組織的LookML模型是LookML的最高組織級容器。
例如,請考慮一下一個(gè)構(gòu)建項(xiàng)目以描述和計(jì)算凈收入的財(cái)務(wù)部門的情況。營銷部門可能還要利用這一指標(biāo)來確定營銷活動(dòng)的盈利能力。為了制定更好的決策,這兩個(gè)部門協(xié)作和共享指標(biāo)以實(shí)現(xiàn)跨整個(gè)企業(yè)一致的衡量至關(guān)重要。
幸運(yùn)的是,LookML利用眾所周知的機(jī)制實(shí)現(xiàn)了團(tuán)隊(duì)間模型共享——這一機(jī)制改編自編程語言的世界。該解決方案稱為包管理——幾乎所有成熟的編程語言都具有的一個(gè)功能。
包被定義為可由另一個(gè)程序復(fù)用的代碼單元(或軟件)。包管理器是一個(gè)允許查找、安裝、配置、更新和刪除包的系統(tǒng)。利用包管理器,開發(fā)人員不必以人工方式執(zhí)行這些任務(wù),從而省卻了工作并提高了代碼一致性。
LookML的項(xiàng)目導(dǎo)入功能將包管理原理引入您的分析模型。項(xiàng)目導(dǎo)入允許模型開發(fā)人員無需復(fù)制和粘貼即可復(fù)用來自另一個(gè)項(xiàng)目的代碼,從而改進(jìn)模型編碼的DRY方法并節(jié)省LookML開發(fā)人員的寶貴時(shí)間。
企業(yè)項(xiàng)目導(dǎo)入:“軸輻”式架構(gòu)
在大型企業(yè),Looker部署會(huì)增長到核心數(shù)據(jù)團(tuán)隊(duì)不再能夠管理每個(gè)部門的數(shù)據(jù)需求并且必須進(jìn)行某種程度的授權(quán)的地步。拆分項(xiàng)目以便每個(gè)部門管理其自己的模型變得非常有利,但事實(shí)證明,要保持模型的一致性并非易事。
通過允許團(tuán)隊(duì)將集中的、高度治理的業(yè)務(wù)邏輯下推至每個(gè)部門的項(xiàng)目,項(xiàng)目導(dǎo)入解決了這一問題。這種“軸輻”(hub and spokes)式架構(gòu)在維持一個(gè)高效的DRY模型的同時(shí),提供了擴(kuò)展性和一致性。
在“軸輻”式架構(gòu)中,一個(gè)中心數(shù)據(jù)團(tuán)隊(duì)管理核心項(xiàng)目(軸心),而每個(gè)部門管理自己的項(xiàng)目(輻條)。軸心包含通用業(yè)務(wù)邏輯,而輻條包含域特定邏輯。軸心邏輯通過項(xiàng)目導(dǎo)入功能導(dǎo)入到輻條。
借助“軸輻”式架構(gòu)和項(xiàng)目導(dǎo)入,可以做到兩全其美。“軸輻”架構(gòu)允許每個(gè)部門利用分布式、可擴(kuò)展的建模所有權(quán)按照自己的節(jié)奏運(yùn)轉(zhuǎn),而項(xiàng)目導(dǎo)入可確保每個(gè)部門都“講”相同的、源自領(lǐng)域?qū)<业墓蚕磉壿嬚Z言。
LookML Blocks?的項(xiàng)目導(dǎo)入功能
Looker Blocks?提供了項(xiàng)目導(dǎo)入的一大優(yōu)勢——基于公共數(shù)據(jù)集和用例可復(fù)用的LookML代碼單元。例如,Salesforce Block能夠被快速改編為可理解的維度和度量——Salesforce模式中一些眾所周知的棘手事情。分析原始Salesforce數(shù)據(jù)或者使用其API非常復(fù)雜,這使這類塊具有巨大價(jià)值。
項(xiàng)目導(dǎo)入使開發(fā)人員只需引用Block源代碼的URL,然后立即在其項(xiàng)目中使用該代碼。由于無需對Block的內(nèi)容進(jìn)行硬編碼,開發(fā)人員可以很容易地選擇更新Block的安裝,隨著Block變得更好,開發(fā)人員的模型也會(huì)變得更好。
了解更多信息
是否要了解更多信息并且開始進(jìn)行項(xiàng)目導(dǎo)入?查看我們的文檔、在社區(qū)參與對話以及訂閱我們的博客,以了解重點(diǎn)介紹新版本功能的未來更新。
關(guān)于Looker
Looker是一個(gè)統(tǒng)一的數(shù)據(jù)平臺(tái),能夠在決策時(shí)為員工提供行之有效的業(yè)務(wù)洞察。Looker將數(shù)據(jù)整合到用戶的日常工作流,使企業(yè)能夠從豐富的數(shù)據(jù)獲得更大價(jià)值。2000多家行業(yè)領(lǐng)先的創(chuàng)新企業(yè)(例如,Sony、Amazon、The Economist、IBM、Etsy、Lyft和Kickstarter)信賴Looker為其數(shù)據(jù)驅(qū)動(dòng)文化提供動(dòng)力。Looker公司于2020年2月正式加入Google Cloud。要了解更多信息,請通過以下方式與我們聯(lián)系:LinkedIn、Twitter、Facebook和YouTube或者訪問looker.com。