目 錄
0 引 言
1 分層的目的
2 分層規範
2.1 分層規範
2.2 分層呼叫原則
3.表規範
3.1 命名
3.2 注釋
3.3 儲存格式
3.4 字符集
3.5 約定
4 字段規範
4.1 命名
4.2 注釋
4.3 型別
5 指令碼命名規範
5.1 命名規範
5.2 具體例項
6 **規範
6.1 sql編碼
6.2 shell指令碼
為了避免底層業務變動對上層需求影響過大,遮蔽底層複雜的業務邏輯,盡可能簡單、完整的在介面層呈現業務資料,建設高內聚松耦合的資料組織,使資料從業務角度可分割,顯得尤為重要。從整個集團業務條線出發,形成資料倉儲總體概念框架,並對整個系統所需要的功能模組進行劃分,明確各模組技術細節,建設一套完整的開發規範。
ods(原始資料層):ods層是資料倉儲準備區,為dwd層提供基礎原始資料。
dwd(明細資料層):和ods粒度一致的明細資料,對資料進行去重,髒資料過濾,空處理,建立資料對映關係,資料脫敏,預設值補值等操作,主要的職責就是保證資料質量。
dws(服務資料層):輕度彙總資料及建寬表(按主題)存放資料,或稱為資料彙總層,有的叫dwa層。
ads(應用資料層):存放應用類表資料,為各種統計報表提供資料。
(1)禁止逆向呼叫
(2)避免同層呼叫
(3)優先使用公共層
(4)避免跨層呼叫
表命名解釋:
具體如下圖所示:
注釋要結合表的英文名,要求注釋簡潔明瞭,體現出表的業務出處、主題和用途。
所謂的儲存格式就是在hive建表的時候指定的將表中的資料按照什麼樣子的儲存方式,如果指定了方式,那麼在向表中插入資料的時候,將會使用該方式向hdfs中新增相應的資料型別。在數倉中建表預設用的都是parquet儲存格式,相關語句如下所示:
stored as inputformat
『org.apache.hadoop.hive.ql.io.parquet.mapredparquetinputformat』
outputformat
『org.apache.hadoop.hive.ql.io.parquet.mapredparquetoutputformat』
hadoop和hive 都是用utf-8編碼的,在建表時可能涉及到中文亂碼問題,所以匯入的檔案的字元編碼統一為utf-8格式。
理論上在數倉落地的表不應該出現null未知型別,對於可能出現null的字段,如果為字元型統一為空字串,如果是數值則給0。
舉例如下:
命名規範示例如下:
語義
翻譯
縮寫
報警
alarm
alarm
油壓
oilpress
oilpress
扳動
pull
pull
震動
shock
shock
環境
environment
env
缺口
gap
gap
年
year
yy
月
month
mm
日
day
dd
周
week
ww
時
hour
hh
注釋本著簡潔、詳實、完整的原則,對於有業務含義的字段,在注釋中需要列舉並解釋其業務含義,如ods_loan_apidata_order_info.order_status 訂單狀態:1待支付,2支付不成功,3支付成功;
日期時間等格式統一用string型別,字串也是用string,數值的話,會根據字段定義來確定,對於有小數點要求的,比如某些金額、利率,需要用到decimal型別,無小數點要求的用浮點型別double和整數型別(int,bigint)。
我們對如下的指令碼進行命名:
dws_jttl_pull_month_tmp_
exp.sh
,其中exp
表示向外匯出用於標識方向
dws_jttl_pull_month.sh
dws_phm_switchshock_min_hh_mm.sh
該指令碼檔案描述了按分鐘、小時、月份轉轍機振動的監控資料。說明了該指令碼有三張表
一張按分鐘統計的表,一張按小時統計的表、一張按月份統計的表。
dws_jttl_pull_day
排程指令碼主要是通過跑shell指令碼,shell指令碼的注意點:
資料倉儲建設規範
版本編號 v1.0 發布日期 2017 07 19 作 者 發布範圍 產研大資料團隊 目 錄1 資料架構概述 2 1.1 原始資料層 ods 3 1.2 資料倉儲層 dw 3 1.3 資料集市層 dm 4 2 資料庫命名規範 4 3 表命名規範 5 3.1 整體原則 5 3.2 原始資料層表命名規範...
系統開發 資料倉儲ETL流程規範
專案組希望我出乙個etl的規範,憑著自己的感覺和經驗總結了一些步驟,我還會不斷改進。本etl流程規範試圖建立乙個通用的etl流程開發規範,針對不同專案組的實際情況,可自行進行逐步的完善和修改。本流程應該是在需求分析階段結束後實施。etl 流程 可以把etl分為五個階段,按照開發的順序分 1 準備階段...
資料倉儲 四 之ETL開發
概述 etl是資料倉儲的後台,主要包含抽取 清洗 規範化 提交四個步驟,傳統資料倉儲一般分為四層模型。分層的作用 stg層 在維度建模階段已經確定了源系統,而且對源系統進行了資料評估。stg層是根據cdc策略把各個源系統的資料抽取到資料倉儲中。stg層主要是面向批處理的形式,如果是根據日誌資訊實時同...