本篇主要演示分区表的创建、插入、动态分区等内容。
一 实验环境
1 Hive环境
0: jdbc:hive2://localhost:10000/hive> select version() ver;
+--------------------------------------------------+
| ver |
+--------------------------------------------------+
| 2.3.3 r8a511e3f79b43d4be41cd231cf5c99e43b248383 |
+--------------------------------------------------+
1 row selected (0.384 seconds)
0: jdbc:hive2://localhost:10000/hive>
2 实验数据
Mysql示例数据库Sakila下的City表,具体可参考:HiveQL实战之分析函数&窗口函数
二 分区表内容
1 分区表介绍
分区表的创建是通过在Create Table语句中加入Partitioned by字句实现,一个分区表可以有一个或多个分区列,对于不同的分区,会创建一个对应的目录,用于存放分区表内容。
2 分区表创建
注:本示例创建了两个分区字段的分区表。
3 查看分区表定义
4 加载数据至分区表
1)方法一
2)方法二
3)方法三
注:此种方式称为动态分区插入操作,Hive默认模式下,动态分区模式为strict,不允许进行动态分区插入,下面将介绍Hive分区的一些参数设置:
4)参数设置,实现动态分区插入
5 分区表查看
6 查看分区表对应的HDFS文件
7 增加分区
8 删除分区
更多内容,可参考官方文档。