ETL報(bào)表小結(jié)
1.拿到需求時(shí),弄清報(bào)表的統(tǒng)計(jì)周期蕉扮,比如是日?qǐng)?bào)整胃,月報(bào),還是年報(bào)等等喳钟;其次如果是hive開發(fā)爪模,需要確認(rèn)表是否需要分區(qū)。
2.確認(rèn)報(bào)表上線日期荚藻,及時(shí)作出規(guī)劃
3.看到需求時(shí)屋灌,別著急著立馬就設(shè)計(jì)表結(jié)構(gòu),甚至立馬就開始寫代碼应狱,一定一定要和需求人員及時(shí)溝通共郭,確認(rèn)報(bào)表每個(gè)字段,每個(gè)指標(biāo)或者維度等的技術(shù)口徑;其次在弄清每個(gè)指標(biāo)的邏輯之前別著急做其他事除嘹。個(gè)人覺得這個(gè)步驟甚至可以可以花較多的時(shí)間写半。同時(shí)這一步也應(yīng)當(dāng)明確了報(bào)表的維度,指標(biāo)尉咕,后續(xù)不應(yīng)該再有變動(dòng)叠蝇。尤其是維度一塊
4.弄清報(bào)表的數(shù)據(jù)量,這點(diǎn)應(yīng)該能估算出來年缎,如果數(shù)據(jù)量太大悔捶,應(yīng)當(dāng)和下游的相關(guān)人員溝通,確保推送數(shù)據(jù)沒有問題
5.弄清報(bào)表的業(yè)務(wù)口徑单芜,業(yè)務(wù)邏輯以及明確表應(yīng)該有哪些字段時(shí)蜕该,就可以先創(chuàng)建表結(jié)構(gòu)
6.對(duì)于報(bào)表中引用到的表,應(yīng)當(dāng)先探查下這些表洲鸠,看這些數(shù)據(jù)長什么樣堂淡,重點(diǎn)關(guān)注各個(gè)表之間關(guān)聯(lián)條件,是left join 還是inner join扒腕;關(guān)聯(lián)條件是不是id绢淀,如果不是,關(guān)聯(lián)時(shí)應(yīng)當(dāng)注意什么
7.開始開發(fā)時(shí)瘾腰,個(gè)人覺得如何設(shè)計(jì)是個(gè)重要的問題更啄,比如第一步先做些什么,步驟一定要清晰居灯。要保證即使某個(gè)指標(biāo)需要改邏輯時(shí)不至于修改整個(gè)報(bào)表的設(shè)計(jì)結(jié)構(gòu)祭务,這一步完成了,開發(fā)報(bào)表只是個(gè)水到渠成的事怪嫌,可以是說完成了一大半义锥,接下來甚至都是體力活。
暫時(shí)先寫這么多岩灭,以上是個(gè)人SQL開發(fā)報(bào)表的一點(diǎn)心得拌倍,針對(duì)的條件有限。歡迎交流