一、建表語句
create table wedw_yydm.predict_churn_score_wa
(
date_predict string
,user_id INT
,predict_churn_score DECIMAL(4,2)
,predict_churn_level string
)
PARTITIONED BY (`date_id` string COMMENT '日期')
ROW FORMAT DELIMITED
FIELDS TERMINATED BY '\t'
LINES TERMINATED BY ','
二、表命名規范
1、建表表名一律小寫
2、表名命名規則: [表功能描述]_[頻度][處理方式]
頻率
Paste_Image.png
處理方式
Paste_Image.png
3、表特點:表名后綴規則
df:每天保存這一個全量的數據,查詢數據的時候,用where date_id=昨天就是最新的全量數據;一般是保存不太變化的維度表
dz:每天保存全量的拉鏈數據,查詢數據的時候,用where date_id=昨天 and link_end_date>=昨天 and link_start_date<= 昨天就是最新的全量數據;一般保存比較重要的,經常變化,有需要查詢歷史記錄的表
di:就是保存的最新狀態的數據,用where date_id=昨天;一般保存一般重要性的訂單類表
da:追加的數據,一般都是不會變化的數據,比如日志類;直接查詢即可
manual :手工導入數據,直接查詢即可
4、臨時表命名規則:t_目標表名日期序號,使用完刪除
5、 靜態表統一命名,表名后面統一加上 ***_manual;并且把靜態數據定期保存
6、表名、字段名、分區字段內容,最好不要用中文
三、字段命名規范
1、表的字段順序:日期,維度,度量
2、建表注意 :指定行分隔符\n ,列分隔符 \t
3、第一個字段一定是日期字段,命名統一,格式統一
四、字段數據類型
除需要保留小數點的數值型字段(DECIMAL(xx,4)),整數數值使用int,時間(timestamp) 外, 其他統一用string。
注意:關系型數據庫的數據類型必須明確,比如varchar 必須指定長度;
五、內置變量
變量的調用統一如昨天日期可以調用${HIVE_DATA_DATE},區分大小寫;