hive_创建表create table

一、建表语句

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、表名命名规则: [表功能描述]_[频度][处理方式]
频率

《hive_创建表create table》 Paste_Image.png

处理方式

《hive_创建表create table》 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},区分大小写;

    原文作者:晟文刀
    原文地址: https://www.jianshu.com/p/951ac6a359f6
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞