c语言sscanf函数的用法是什么
196
2022-11-18
大数据学习笔记-------------------(24)
第24章分区
Hive组织table进入分区。该方法是把一个表分层相关的部分,每个部分基于分区列的值,如日期、城市、部门等。用分区,很容易查询一部分数据。
表(Table) 或分区(Partition)被细分成桶(buckets),为了提供额外的结构,该结构使数据可以用于更有效的查询。buckets工作是基于表的某列的哈希函数值。
例如,Tab1表包含employee数据例如id、name、dept、yoj(year ofjoining)。假设需要检索2012年加入所有的employee的详细信息。查询语句在整个表中搜索所需的信息。然而,如果按年份对员工数据进行划分,并将其存储在单独的文件中,它减少了查询处理时间。下面一个例子,显示如何分割文件及其数据:
如下文件,包含employee数据表:
/tab1/employeedata/file1 id,name, dept, yoj 1, gopal, TP, 2012 2, kiran, HR, 2012 3, kaleel,SC, 2013 4, Prasanth, SC, 2013
创建并插入数据到employee:
按年份把上面的数据分进两个文件内:
/tab1/employeedata/2012/file2 1, gopal, TP, 2012 2, kiran, HR, 2012
/tab1/employeedata/2013/file3 3, kaleel,SC, 2013 4, Prasanth, SC, 2013
24.1添加分区(Adding a Partition)
通过修改table来添加分区到table中。假设有表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表添加一个分区:
ALTER TABLE employee ADD PARTITION (year='2013') location '/2012/part2012';
24.2 重命名分区(Renaminga Partition)
ALTER TABLE table_name PARTITION partition_spec RENAME TO PARTITION partition_spec;
实例:
ALTER TABLE employee PARTITION (year='1203') RENAME TO PARTITION (yoj='1203');
24.3 删除分区(Dropinga Partition)
ALTER TABLE table_name DROP [IF EXISTS] PARTITION partition_spec, PARTITION partition_spec,...;
实例:
ALTER TABLE employee DROP [IF EXISTS] PARTITION (year='1203')
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~