概述
本文是对[3]的复现
所有的SQL操作都在下方gitee链接中
https://gitee.com/appleyuchi/Flink_Code/blob/master/hive动态静态分区/hive.sql
静态分区
分区叫法 | 表格举例 | 不同种类分区在HDFS上存放的文件结构 |
单分区/一级分区/主分区 | t1 | /user/hive/warehouse/t1/department=depart-1 |
多分区/多级分区/副分区 | t2 | /user/hive/warehouse/t2/department=GBD/sex=F |
可以看到你所谓的多分区和单分区其实主要取决于数据在HDFS上存放的结构是否是多级文件夹结构.
动态分区
建立r3,t4表
t3表导入t4表
这里注意:
因为t3比t4多了2个字段,
所以t4会以多出来的这两个字段进行动态分区(也就是HDFS上的多级目录结构)
区别
静态分区是的导入数据的时候,分区名是写死的.
动态分区是导入数据时,根据数据所属字段的取值进行动态分区.
动静(半动态)分区混合使用
建立r0,t5表
t0表导入t5表
这个动静结合体现在哪里呢?
静态体现在coutry='china'写死
动态体现在t0的字段比t5多了一个,多出来的字段,作为数据导入t5后的分区
查看Hive表的分区结构具体操作
打开:
http://desktop:9870/explorer.html#/
搜索:
/user/hive/warehouse/t1/department=depart-1
如下:
Reference: