赞
踩
版权声明:本文为博主原创文章,未经博主允许不得转载。
数据分区
数据库分区的主要目的是为了在特定的SQL操作中减少数据读写的总量以缩减响应时间,主要包括两种分区形式:水平分区与垂直分区。水平分区是对表进行行分区。而垂直分区是对列进行分区,一般是通过对表的垂直划分来减少目标表的宽度,常用的是水平分区。
hive建立分区语法:
create external table if not exists tablename(
a string,
b string)
partitioned by (year string,month string)
row format delimited fields terminated by ‘,’;
hive通常有三种方式对包含分区字段的表进行数据插入:
1)静态插入数据:要求插入数据时指定与建表时相同的分区字段,如:
insert overwrite tablename (year=’2017′, month=’03’) select a, b from tablename2;
2)动静混合分区插入:要求指定部分分区字段的值,如:
insert overwrite tablename (year=’2017′, month) select a, b from tablename2;
3)动态分区插入:只指定分区字段,不用指定值,如:
insert overwrite tablename (year, month) select a, b from tablename2;
hive动态分区设置相关参数:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。