求知 文章 文库 Lib 视频 iPerson 课程 认证 咨询 工具 讲座 Model Center   Code  
会员   
要资料
 
 
 

Hive教程
Hive安装
Hive数据类型
Hive创建数据库
Hive删除数据库
Hive创建表
Hive修改表
Hive删除表
Hive分区
Hive内置运算符
Hive内置函数
Hive视图和索引
HiveQL Select Where
HiveQL Select Order By
HiveQL Select Group By
HiveQL Select Join
 
 

Hive分区
1051 次浏览
67次  

Hive组织表到分区。它是将一个表到基于分区列,如日期,城市和部门的值相关方式。使用分区,很容易对数据进行部分查询。

表或分区是细分成桶,以提供额外的结构,可以使用更高效的查询的数据。桶的工作是基于表的一些列的散列函数值。

例如,一个名为Tab1表包含雇员数据,如 id, name, dept 和yoj (即加盟年份)。假设需要检索所有在2012年加入,查询搜索整个表所需的信息员工的详细信息。但是,如果用年份分区雇员数据并将其存储在一个单独的文件,它减少了查询处理时间。下面的示例演示如何分区的文件和数据:

下面文件包含employee 数据表。

/tab1/employeedata/file1

id, name, dept, yoj  
1, gopal, TP, 2012  
2, kiran, HR, 2012  
3, kaleel,SC, 2013  
4, Prasanth, SC, 2013 

上面的数据被划分成使用年两个文件。

/tab1/employeedata/2012/file2

1, gopal, TP, 2012  2, kiran, HR, 2012

/tab1/employeedata/2013/file3

3, kaleel,SC, 2013  4, Prasanth, SC, 2013 

添加分区

可以通过添加分区表改变所述表。假设我们有一个表叫employee ,拥有如 Id, Name, Salary, Designation, Dept, 和 yoj等字段。

语法:

ALTER TABLE table_name ADD [IF NOT EXISTS] PARTITION partition_spec  
[LOCATION 'location1'] partition_spec [LOCATION 'location2'] ...;    
partition_spec:  : (p_column = p_col_value, p_column = p_col_value, ...) 

以下查询用于将分区添加到employee表。

hive> ALTER TABLE employee  > 
ADD PARTITION (year=’2013’)  
> location '/2012/part2012'; 

重命名分区

此命令的语法如下。

ALTER TABLE table_name PARTITION partition_spec RENAME TO PARTITION partition_spec; 

以下查询用来命名一个分区:

hive> ALTER TABLE employee PARTITION (year=’1203’)     
> RENAME TO PARTITION (Yoj=’1203’); 

删除分区

下面语法用于删除分区:

ALTER TABLE table_name DROP [IF EXISTS] PARTITION partition_spec, PARTITION partition_spec,...;

以下查询是用来删除分区:

hive> ALTER TABLE employee DROP [IF EXISTS]     
> PARTITION (year=’1203’);

 


您可以捐助,支持我们的公益事业。

1元 10元 50元





认证码: 验证码,看不清楚?请点击刷新验证码 必填



1051 次浏览
67次
 捐助