hive表类型---桶表、分区表

Hive表类型 ----
桶表、
	桶表是对数据进行哈希取值,然后放到不同文件中存储。
创建表
	create table t_bucket(id string) clustered by(id) into 3 buckets;		
加载数据
	set hive.enforce.bucketing = true;
	insert into table t_bucket select id from test;	
	insert overwrite table t_bucket select id from test;

   数据加载到桶表时,会对字段取hash值,然后与桶的数量取模。把数据放到对应的文件中。
注意:
	物理上,每个桶就是表(或分区)目录里的一个文件
	一个作业产生的桶(输出文件)和reduce任务个数相同
分区表、
	分区可以理解为分类,通过分类把不同类型的数据放到不同的目录下。
	分类的标准就是分区字段,可以一个,也可以多个。
	分区表的意义在于优化查询。查询时尽量利用分区字段。如果不使用分区字段,就会全部扫描。
	    创建:
		    create table t6_partition(
			    id int,
			    name string,
			    birthday date,
			    online boolean
		    ) partitioned by(dt date comment "partition field day time");
				
	        查看分区:
		    show partitions t6_partition;
	        增加分区:
		    alter table t6_partition add partition(dt="2017-07-20");
	        删除分区:
		    alter table t6_partition drop partition(dt="2017-07-20");	
	如果有多个统计维度的时候,可以采用多个分区来设置		
	      create table t6_partition_1(
		      id int,
		      name string,
		      birthday date,
		      online boolean
	       ) partitioned by(year int, class string);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值