支付寶數(shù)據(jù)倉(cāng)庫(kù)hive開(kāi)發(fā)注意事項(xiàng)

支付寶數(shù)據(jù)倉(cāng)庫(kù)hive開(kāi)發(fā)注意事項(xiàng)

ID:15991530

大?。?5.50 KB

頁(yè)數(shù):4頁(yè)

時(shí)間:2018-08-07

支付寶數(shù)據(jù)倉(cāng)庫(kù)hive開(kāi)發(fā)注意事項(xiàng)_第1頁(yè)
支付寶數(shù)據(jù)倉(cāng)庫(kù)hive開(kāi)發(fā)注意事項(xiàng)_第2頁(yè)
支付寶數(shù)據(jù)倉(cāng)庫(kù)hive開(kāi)發(fā)注意事項(xiàng)_第3頁(yè)
支付寶數(shù)據(jù)倉(cāng)庫(kù)hive開(kāi)發(fā)注意事項(xiàng)_第4頁(yè)
資源描述:

《支付寶數(shù)據(jù)倉(cāng)庫(kù)hive開(kāi)發(fā)注意事項(xiàng)》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫(kù)。

1、HIVE開(kāi)發(fā)注意事項(xiàng)1HIVE開(kāi)發(fā)注意事項(xiàng)1.1始終保持懷疑的態(tài)度來(lái)使用Hive1.2HIVE環(huán)境中賬戶分類1)目前hive分為logana和payods兩個(gè)應(yīng)用用戶,前者用作日志分析,后者用作內(nèi)容分析,與gp保持一致1.3數(shù)據(jù)存儲(chǔ)及物理文件目錄1)目錄結(jié)構(gòu):payods作為“內(nèi)容”這邊的總目錄,下面二級(jí)目錄以數(shù)據(jù)層次劃分,數(shù)據(jù)層次下面三級(jí)目錄以主題劃分,如下payodspayods/ods(dwd、dwb、dws、dm、st、dim、t、tmp)payods/ods/trd(fnd、crd、chg、pay、cbz、bbz、c

2、tu、crm、mob、tbd、tec),此處沒(méi)有l(wèi)og主題2)每日全量一律用表分區(qū)存儲(chǔ),不再新建表,并且這樣的表以“_dd”作為后綴(表示每個(gè)分區(qū)即時(shí)一份全量),分區(qū)字段命名見(jiàn)1.3-4)節(jié)1.4建表及命名1)除tmp表外其他表一律用外部表(external),(字段長(zhǎng)度如何體現(xiàn),建表系統(tǒng)),createexternaltabletabname(col1int,col2string)partitionedby(dtstring)rowformatdelimitedfieldsterminatedby','linestermin

3、atedby''storedastextfile4支付寶數(shù)據(jù)倉(cāng)庫(kù)編程文檔V1.0location'/group/alipay/alipaydw/payods/ods/trd/tabname';altertabletabnamesetserdeproperties('serialization.null.format'='');說(shuō)明:external建表模式下,表分區(qū)刪除后,數(shù)據(jù)文件仍保留,而tmp表屬于加載過(guò)程中臨時(shí)性質(zhì),用完以后需要將數(shù)據(jù)刪除。所以tmp表不能建為external表建表語(yǔ)句之后,必須通過(guò)ALTERTABL

4、E來(lái)設(shè)置setserdeproperties屬性,將使的NULL值在文本中存儲(chǔ)為空字符,符合目前使用的習(xí)慣及要求1)表數(shù)據(jù)存儲(chǔ)格式一律用textfile,非壓縮2)字段間用逗號(hào)(,)分割,行間隔用換行符()分割3)日期分區(qū)字段統(tǒng)一采用dt命名,格式如下“yyyymmdd”partitionedby(dtstring),4)dim表一律用非分區(qū)表5)tmp表一律用分區(qū)表(用來(lái)清空數(shù)據(jù),insertoverwrite時(shí)select表數(shù)據(jù)為空時(shí)不會(huì)覆蓋目標(biāo)表數(shù)據(jù),因此須采用清分區(qū)的方法,另外由于tmp是腳本執(zhí)行過(guò)程中臨時(shí)性質(zhì)使用

5、的表,所以通過(guò)清分區(qū)的方式可以釋放空間),無(wú)后綴tcl中tmp命名格式:tmp_tcl名字_序號(hào)注意:每個(gè)tcl執(zhí)行完成后,需要在最后進(jìn)行drop清除分區(qū)的動(dòng)作如:altertabletmp_dim_trade_notetypedroppartition(dt=${tmp_yyyymmdd}6)ods、dwd,dwb表一律采用分區(qū)表,以DD結(jié)尾,(需要和GP上的表區(qū)別,GP上的表帶有YYYYMMDD后綴),表示日明細(xì)表7)dws表一律采用分區(qū)表,以DS結(jié)尾,表示日匯總表1.1數(shù)據(jù)類型及函數(shù)使用1)使用四種類型:string(字

6、符串)、int(短整型)、bigint(長(zhǎng)整型,用于金額等字段類型)、double(僅用于服務(wù)費(fèi)率等含小數(shù)字段類型)2)日期格式字段統(tǒng)一使用yyyymmdd的格式,類型使用string3)Timestamp格式字段統(tǒng)一使用yyyy-mm-ddhh24:mi:ss的格式,類型使用string4)排序是如果要求對(duì)所有結(jié)果有順序用orderby,否則用distributeby...sort4支付寶數(shù)據(jù)倉(cāng)庫(kù)編程文檔V1.0by...其中orderby是對(duì)結(jié)果的全局排序,而distributeby...sortby是對(duì)分發(fā)到不同服務(wù)器上

7、的數(shù)據(jù)進(jìn)行局部排序1)orderby1;類似的寫法不正確,要用列名稱排序2)需要對(duì)查詢結(jié)果賦予自增序列,需要使用rownumber()函數(shù),它是一個(gè)UDF函數(shù)(自定義函數(shù)),在使用這個(gè)函數(shù)時(shí),需要通過(guò)如下命令方式進(jìn)入HIVE:hive-i/data1/alipaydw/alitools/lib/ali_hive_function3)實(shí)現(xiàn)類似于row_number()over(partitionbytrade_noorderbymodified_date)=1的功能,排重并且取第一條Selecttrade_norownumber

8、(trade_no)From(selecttrade_noFromtable1Distributebytrade_noSortbytrade_no,modified_date)p4)目前HIVE暫時(shí)不支持不等值連接(需要二次開(kāi)發(fā)來(lái)實(shí)現(xiàn)功能)5)Hive中浮點(diǎn)數(shù)運(yùn)算會(huì)存在結(jié)果不

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無(wú)此問(wèn)題,請(qǐng)放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫(kù)負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭(zhēng)議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無(wú)法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請(qǐng)聯(lián)系客服處理。