色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

hadoop表名規(guī)則

老白2年前22瀏覽0評論

hadoop表名規(guī)則?

為了避免底層業(yè)務(wù)變動對上層需求影響過大,屏蔽底層復(fù)雜的業(yè)務(wù)邏輯,盡可能簡單、完整的在接口層呈現(xiàn)業(yè)務(wù)數(shù)據(jù),建設(shè)高內(nèi)聚松耦合的數(shù)據(jù)組織,使數(shù)據(jù)從業(yè)務(wù)角度可分割,顯得尤為重要。從整個集團(tuán)業(yè)務(wù)條線出發(fā),形成數(shù)據(jù)倉庫總體概念框架,并對整個系統(tǒng)所需要的功能模塊進(jìn)行劃分,明確各模塊技術(shù)細(xì)節(jié),建設(shè)一套完整的開發(fā)規(guī)范。

分層規(guī)范

ODS(原始數(shù)據(jù)層):也被稱為貼源層,ODS層是數(shù)據(jù)倉庫準(zhǔn)備區(qū),為DWD層提供基礎(chǔ)原始數(shù)據(jù)。

DWD(明細(xì)數(shù)據(jù)層):和ODS粒度一致的明細(xì)數(shù)據(jù),對數(shù)據(jù)進(jìn)行去重,臟數(shù)據(jù)過濾,空處理,保證數(shù)據(jù)質(zhì)量。

DWS(服務(wù)數(shù)據(jù)層):輕度匯總數(shù)據(jù)及建寬表(按主題)存放數(shù)據(jù)。

ADS(應(yīng)用數(shù)據(jù)層):存放應(yīng)用類表數(shù)據(jù)。

ODS - DWD - DWS - ADS

ODS - DW(輕度數(shù)據(jù)匯總層、高度數(shù)據(jù)匯總層) - DM(數(shù)據(jù)集市)

表規(guī)范

命名

維表 命名形式:dim_描述

事實(shí)表 命名形式:fact_描述_[AB]

臨時表 命名形式:tmp_ 正式表名_ [C自定義序號]

寬表 命名形式:dws_主題_描述_[AB]

備份表 命名形式:正式表名_bak_yyyymmdd

表命名解釋:

1)表名使用英文小寫字母,單詞之間用下劃線分開,長度不超過40個字符,命名一般控制在小于等于6級。

2)其中ABC第一位"A"時間粒度:使用"c"代表當(dāng)前數(shù)據(jù),"h"代表小時數(shù)據(jù),"d"代表天數(shù)據(jù),"w"代表周數(shù)據(jù),"m"代表月數(shù)據(jù),"q"代表季度數(shù)據(jù), "y"代表年數(shù)據(jù)。

3)其中ABC的第二位"B"表示對象屬性,用"t"表示表,用"v"表示視圖。

4)其中ABC的第三位"C"自定義序號用于標(biāo)識多個臨時表的跑數(shù)順序。

注釋

注釋要結(jié)合表的英文名,要求注釋簡潔明了,體現(xiàn)出表的業(yè)務(wù)出處、主題和用途。

存儲格式

所謂的存儲格式就是在Hive建表的時候指定的將表中的數(shù)據(jù)按照什么樣子的存儲方式,如果指定了方式,那么在向表中插入數(shù)據(jù)的時候,將會使用該方式向HDFS中添加相應(yīng)的數(shù)據(jù)類型。在數(shù)倉中建表默認(rèn)用的都是PARQUET存儲格式,相關(guān)語句如下所示:

STORED AS INPUTFORMAT

'org.apache.hadoop.hive.ql.io.parquet.MapredParquetInputFormat'

OUTPUTFORMAT

'org.apache.hadoop.hive.ql.io.parquet.MapredParquetOutputFormat'

字符集

Hadoop和hive 都是用utf-8編碼的,在建表時可能涉及到中文亂碼問題,所以導(dǎo)入的文件的字符編碼統(tǒng)一為utf-8格式。

約定

理論上在數(shù)倉落地的表不應(yīng)該出現(xiàn)null未知類型,對于可能出現(xiàn)null的字段,如果為字符型統(tǒng)一為空字符串,如果是數(shù)值則給0。

字段規(guī)范

命名

1)使用英文小寫字母,單詞之間用下劃線分開,長度不超過30個字符,命名一般控制在小于等于4級;

2)和源數(shù)據(jù)ods層表字段名一致,如為新增字段,盡量言簡意賅;

3)英文名盡量專業(yè),符合業(yè)界要求,不得使用漢語拼音;

4)盡量避免使用關(guān)鍵字。如無法避免,使用”`”轉(zhuǎn)義;

5)指標(biāo)字段能使用縮寫的盡量使用統(tǒng)一的縮寫,如申請金額統(tǒng)計apply_amt_sum。

注釋

注釋本著簡潔、詳實(shí)、完整的原則,對于有業(yè)務(wù)含義的字段,在注釋中需要枚舉并解釋其業(yè)務(wù)含義,如ods_loan_apidata_order_info.order_status 訂單狀態(tài):1待支付,2支付不成功,3支付成功;

類型

日期時間等格式統(tǒng)一用string類型,字符串也是用string,數(shù)值的話,會根據(jù)字段定義來確定,對于有小數(shù)點(diǎn)要求的,比如某些金額、利率,需要用到decimal類型,無小數(shù)點(diǎn)要求的用浮點(diǎn)類型double和整數(shù)類型(int,bigint)。

代碼規(guī)范

sql編碼

1)關(guān)鍵字右對齊,代碼注釋詳盡,查詢字段時每行不超過三個字段,縮進(jìn)時空四格等相關(guān)書寫規(guī)范。

2)明細(xì)數(shù)據(jù)層依賴于ods層,應(yīng)用數(shù)據(jù)層依賴于服務(wù)數(shù)據(jù)層,原則上,不允許跨層查詢。

3)如果SQL語句連接多表時,應(yīng)使用表的別名來引用列。

4)WHERE條件中參數(shù)與參數(shù)值使用的類型應(yīng)當(dāng)匹配,避免進(jìn)行隱式類型轉(zhuǎn)化。

5)在SELECT語句中只獲取實(shí)際需要的字段。

shell腳本

調(diào)度腳本主要是通過跑shell腳本,shell腳本的注意點(diǎn):

1)命名與所跑的目標(biāo)表名相同,注釋要完善,后綴以.sh結(jié)尾。

2)腳本頭需要加上分割線、作者、日期、目的、描述等信息。

Java 自動排序map,hadoop表名規(guī)則