Hive分区
分区的目的:将大的数据分割成小数据,减少分析时的扫描量,提高效率。如:可以将数据按天分区,每天分析前一天的数据。

- 创建分区表语法
分区字段不能和表中字段重复
create table score(s_id string, c_id string, s_score int)
partitioned by (month string)
row format delimited fields terminated by '\t';
- 创建一个表带多个分区
create table score2 (s_id string,c_id string, s_score int)
partitioned by (year string, month string, day string)
row format delimited fields terminated by '\t';
- 加载数据到分区表中去
load data local inpath '/hivedatas/score.csv' into table score
partition (month='201806');;
- 加载数据到多分区表中去
load data local inpath '/hivedatas/score.csv' into table score2 partition(year='2018',

本文详细介绍了Hive的分区和分桶概念,旨在提高数据处理效率。分区通过将大数据划分为小部分,便于快速分析。静态分区需手动指定分区字段值,而动态分区则能自动分配。分桶是对数据的进一步细化,相同属性值的数据会被放入相同桶中,有助于提高查询效率和实现更高效的采样。创建分桶表需开启相关属性并设置reduce个数,使用tablesample语句可以对分桶表进行抽样查询。
最低0.47元/天 解锁文章
509

被折叠的 条评论
为什么被折叠?



