hive作为数仓,各个层次的存储格式

hive作为数仓,分为 1、业务数据的数仓,来源于mysql
2、用户行为数仓(日志),来源于采集系
hive :
ods层:用sqoop将mysql的数据导入到hdfs
创建Snappy压缩格式的Parquet结构的表
drop table if exists ods_order_info;
create table ods_order_info (
id string COMMENT ‘订单编号’,
total_amount decimal(10,2) COMMENT ‘订单金额’,
order_status string COMMENT ‘订单状态’,

) COMMENT ‘订单表’
PARTITIONED BY ( dt string)
row format delimited fields terminated by ‘\t’
location ‘/warehouse/gmall/ods/ods_order_info/’
tblproperties (“parquet.compression”=“snappy”)
日志:
drop table if exists ods_start_log;
CREATE EXTERNAL TABLE ods_start_log(line string)
PARTITIONED BY (dt string)
STORED AS
INPUTFORMAT ‘com.hadoop.mapred.DeprecatedLzoTextInputFormat’
OUTPUTFORMAT 'org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat’

LOCATION ‘/warehouse/gmall/ods/ods_start_log’;

没有理由,只是将这几种压缩格式用一下
dwd层、dws层:
drop table if exists dwd_base_start_log;
CREATE EXTERNAL TABLE dwd_base_start_log(
mid_id string,
user_id string,

)
PARTITIONED BY (dt string)
stored as parquet
location ‘/warehouse/gmall/dwd/dwd_base_start_log/’
ads层,用默认的存储方式,即textfile,因为sqoop不能导出orc格式的文件。
重点:ODS层采用什么压缩方式和存储格式?
压缩采用Snappy,存储采用orc,压缩比是100g数据压缩完10g左右

你可能感兴趣的:(数据仓库)