Hive:静态分区(分区语法,多级分区,分区的查看修改增加删除)

ops/2025/2/6 19:43:35/

hive在建表时引入了partition概念。即在建表时,将整个表存储在不同的子目录中,每一个子目录对应一个分区。在查询时,我们就可以指定分区查询,避免了hive做全表扫描,从而提高查询率。

oracle和Hive分区的区别

orcale在进行表分区时不需要定义分区字段的数据类型,Hive需要,因为oracle分区时用的是表内字段,Hive在分区时用的是表外字段

分区的注意事项 

hive 中,分区字段名是不区分大小写的,不过字段值是区分大小写的

示例(一级分区,即分区时只有一个字段)

表里面只有2个字段(id和name) ,dt 是用来辅助分区的

导入数据

导入数据后查看

导入第二个分区的数据后查看

查询指定分区的数据

在oracle中使用where的时候是全盘扫描,但是Hive是局部扫描, 因为分区相当于一个目录

 

示例: part1表中的2个分区dt=2025-01-01和dt=2025-01-02

多级分区

分区时有多少个字段就是多少级分区

表中只有2个字段,另外2个是伪列, 是用来进行分区的

加载数据

加载数据后查看表

导入时month=01查询时变成1,是因为没有引号默认按照数值处理,省略了0

查看分区

示例

注意: year和month分区的层级关系, month是year的下一级目录,删掉year=2025分区后,2025下一级分区的month=1和month=2也是被删掉的

修改分区

即修改分区的数据来源, 下次访问该分区时映射修改后的路径数据

示例

修改分区

原本的数据还在原来的位置, 所以修改分区只是下次访问该分区时映射的不是原本的目录,映射修改后的路径数据

 

增加分区

3 ) 新增多分区
新增多个空分区, 通过show partitions 表名  查看是否新增分区成功
新增多个带数据的分区
注意: 新增分区(带数据)只是改变了映射

删除分区

示例  

删除表part2的分区year=2025 month=01后目录还在是因为之前有修改过分区的映射

删除未修改过分区映射的分区

删除分区时,分区下面的目录也会被删除


http://www.ppmy.cn/ops/156229.html

相关文章

sql表的增删改、替换

一、增加 1、向原表的字段中插入多条记录的方法 # mysql中常用的三种插入数据的语句: # insert into表示插入数据,数据库会检查主键,如果出现重复会报错; # replace into表示插入替换数据,需求表中有PrimaryKey, # 或…

网络安全-设备安全加固

网络设备也是网络边界很重要的设备,是整个数据中心的主干道,不能有任何闪失,这两天对Nexus网络设备进行了简单的安全加固,对主要的操作进行了下总结,如下: 1、 在Nexus建立了一个只读帐号,如要…

输出解析器的使用

文章目录 输出解析器的使用Pydantic JSON输出解析器结构化输出解析器 输出解析器的使用 输出解析器的使用主要依靠提示词模板对象的partial方法注入输出指令的字符 串,主要的实现方式是利用PromptTemplate对象的partial方法或在实例化PromptTemplate对象时传递parti…

leetcode刷题记录(七十二)——146. LRU 缓存

(一)问题描述 146. LRU 缓存 - 力扣(LeetCode)146. LRU 缓存 - 请你设计并实现一个满足 LRU (最近最少使用) 缓存 [https://baike.baidu.com/item/LRU] 约束的数据结构。实现 LRUCache 类: * LRUCache(int capacity)…

一文了解边缘计算

什么是边缘计算? 我们可以通过一个最简单的例子来理解它,它就像一个司令员,身在离炮火最近的前线,汇集现场所有的实时信息,经过分析并做出决策,及时果断而不拖延。 1.什么是边缘计算? 边缘计算…

Unity渲染管线

Unity渲染管线详解 什么是渲染管线 渲染管线(Render Pipeline)是Unity中处理渲染的核心系统,负责将3D场景转换为最终在屏幕上显示的2D图像。它定义了光照、阴影、材质、后处理效果等的处理方式。 Unity支持的渲染管线类型 1. 内置渲染管线…

Node.js常用知识

Nodejs 总结Node.js基础知识,便于定期回顾 1、fs 文件写入 1、require(‘fs’) 2、fs.writeFile() 3、fs.appendFile() 4、fs.createwriteStream() //流式写入 ws.write() 文件读取 1、fs.readFile(‘’,(err,data)>{ }) const …

【探索篇】探索部署离线AI在Android的实际体验

【探索篇】探索离线AI在Android的实际体验 文章目录 【探索篇】探索离线AI在Android的实际体验一、离线AI的核心优势1.1 隐私保护与低延迟1.2 无网络持续服务1.3 典型应用场景 二、Android端的技术实现2.1 框架支持对比2.2 性能优化策略 三、真实体验报告3.1 测试环境配置3.2 功…