Hive分区表操作
来源:互联网 发布:淘宝大卖家如何放单 编辑:程序博客网 时间:2024/06/14 05:49
1、必须在表定义时创建 partition
单分区建表语句:
create table table1 (id int, content string) partitioned by (day string);
- 单分区表,按天分区,在表结构中存在id、content、day三列。
双分区建表语句:
create table table2 (id int, content string) partitioned by (day string, hour string);
- 双分区表,按天和小时分区,在表结构中新增day、hour两列。先以day为文件夹,再以hour子文件夹区分。
2、添加分区表语句(表已创建,在此基础上添加分区)
#语句格式ALTER TABLE table_name ADDpartition_spec [ LOCATION 'location1' ]partition_spec [ LOCATION 'location2' ] ...
#例子ALTER TABLE day_table ADDPARTITION (dt='2008-08-08', hour='08')location '/path/pv1.txt'
3、删除分区语法
ALTER TABLE table_name DROP partition_spec, partition_spec,...
用户可以用 ALTER TABLE DROP PARTITION 来删除分区。分区的元数据和数据将被一并删除。例:
ALTER TABLE day_hour_table DROP PARTITION (dt='2008-08-08', hour='09');
4、数据加载进分区表
LOAD DATA [LOCAL] INPATH 'filepath' [OVERWRITE] INTO TABLE tablename [PARTITION (partcol1=val1, partcol2=val2 ...)]
例:
LOAD DATA INPATH '/user/pv.txt' INTO TABLE day_hour_table PARTITION(dt='2008-08- 08', hour='08'); LOAD DATA local INPATH '/user/hua/*' INTO TABLE day_hour partition(dt='2010-07- 07');
- 当数据被加载至表中时,不会对数据进行任何转换。Load操作只是将数据复制至Hive表对应的位置。数据加载时在表下自动创建一个目录。
5、基于分区表的查询语句
SELECT day_table.* FROM day_table WHERE day_table.dt>= '2008-08-08';
6、查看分区语句
hive> show partitions day_hour_table;OK day=2008-08-08/hour=08 day=2008-08-08/hour=09 day=2008-08-09/hour=09
阅读全文
1 0
- Hive分区表操作
- Hive中分区表的操作
- Hive学习笔记 --- Hive分区表的操作
- 05分布式数据仓库 HIVE -- 分区表的操作
- hive 的表操作问题 hive中简单介绍分区表
- hive 分区表
- Hive分区表
- Hive分区表
- Hive分区表
- hive 分区表
- hive分区表
- hive分区表
- Hive静态分区表&动态分区表
- [Hive]Hive分区表新增字段
- hive sql分区表
- hive创建分区表问题
- hive sql分区表
- hive创建分区表问题
- Hibernate
- RPC功能的实现
- java杨辉三角代码编写
- N皇后问题
- plsql develop 连接远程数据库
- Hive分区表操作
- 谈谈RunLoop
- Codeforces Round #426 (Div. 2)The Meaningless Game【数学题】【水题】
- 信息标记与信息提取
- P3776工资管理
- java按指定时间拆分月份
- Azkaban使用简单笔记
- lombok的使用和原理
- 关于freemaker页面静态化的使用