蜂巢中表的简介对应于HDFS上的指定目录。在查询数据时,默认情况下将扫描完整表,因此时间和性能消耗将非常大。
分区表实际上对应于HDFS文件系统上的独立文件夹。文件夹下的所有数据文件下方是分区中的所有数据文件。蜂巢中的分区是目录,并且根据业务需求将大数据集分为小数据集。选择通过在该范围内的where子句中所需的指定分区询问。这种查询效率将得到很多提高。
蜂巢分区的意义分为静态分区和动态分区:
通常,在管理大型数据集时需要进行分区。例如,将日志文件除以一天,以确保细分粒径的划分并改善查询性能。
4.1静态分区数据准备
单级分区(1)创建分区表语法
注意:分区字段不能是表中的数据,并且可以将分区字段视为表的伪列。
(2)查看分区表结构
(3)加载数据
注意:加载分区表的数据时,必须指定分区。如果未指定,将生成默认分区
(4)分区表中的查询数据
方法一:
方法两个:
(5)添加了分区
注意:每个分区中间的单独空间
(6)删除分区
注意:空气逗号在每个分区的中间分开
(7)查看分区表中的分区数
(8)重命名分区
第二级分区(1)创建辅助分区表
(2)将数据加载到辅助分区表
(3)新的附加分区
(4)查询分区数据
(5)重命名分区
修复分区以将数据直接上传到分区目录,并让分区表和数据关联
(1)方法1:上传数据后维修
查询结果为空,也就是说,我们上传的数据尚未查询
(2)方法2:上传数据后添加分区
(3)方法3:创建文件夹后,将数据加载到分区
4.2当我们测试动态分区上方的静态分区时,我们可以看到必须在看到操作分区表时指定分区,并且动态分区解决了此问题。但是,需要相应地配置Hive的动态分区。
动态分区的值确定,并确定输入数据。
1.打开动态分区参数(1)输入动态分区函数(默认为true,打开)
(2)指定动态分区模式
动态分区模式:
其他不必要的配置:
2.案例练习需求
根据该区域(LOC字段)将数据插入目标表DEPT_PARTITION的相应分区中。
(1)创建目标分区表
(2)添加数据
(3)查看目标分区表的分区
用参考文章总结链接:
https://www.boxuegu.com/news/372.html
https://dunwu.github.io/bigdata-tutorial/hive/hive-table.html
https://sementfault.com/a/1190000038348071
