当前位置: 首页 > news >正文

【Hive】——DDL(PARTITION)

1 增加分区

1.1 添加一个分区

在这里插入图片描述

ALTER TABLE t_user_province ADD PARTITION (province='BJ') location'/user/hive/warehouse/test.db/t_user_province/province=BJ';

必须自己把数据加载到增加的分区中 hive不会帮你添加

1.2 一次添加多个分区


ALTER TABLE table_name ADD PARTITION (dt='2008-08-08', country='us') location '/path/to/us/part080808'PARTITION (dt='2008-08-09', country='us') location '/path/to/us/part080809';

2 重命名分区


ALTER TABLE t_user_province PARTITION (province ="SH") RENAME TO PARTITION (province ="Shanghai");

3 删除分区


ALTER TABLE table_name DROP [IF EXISTS] PARTITION (dt='2008-08-08', country='us');

直接删除数据 不进垃圾桶


ALTER TABLE table_name DROP [IF EXISTS] PARTITION (dt='2008-08-08', country='us') PURGE; --直接删除数据 不进垃圾桶

4 修改分区

4.1 更改分区文件存储格式


ALTER TABLE table_name PARTITION (dt='2008-08-09') SET FILEFORMAT file_format;

4.2 更改分区位置


ALTER TABLE table_name PARTITION (dt='2008-08-09') SET LOCATION "new location";

5 修复分区

在这里插入图片描述


MSCK [REPAIR] TABLE table_name [ADD/DROP/SYNC PARTITIONS];

在这里插入图片描述

--Step1:创建分区表
create table t_all_hero_part_msck(id int,name string,hp_max int,mp_max int,attack_max int,defense_max int,attack_range string,role_main string,role_assist string
) partitioned by (role string)row format delimitedfields terminated by "\t";--Step2:在linux上,使用HDFS命令创建分区文件夹
hadoop fs -mkdir -p /user/hive/warehouse/test.db/t_all_hero_part_msck/role=sheshou
hadoop fs -mkdir -p /user/hive/warehouse/test.db/t_all_hero_part_msck/role=tanke--Step3:把数据文件上传到对应的分区文件夹下
hadoop fs -put archer.txt /user/hive/warehouse/test.db/t_all_hero_part_msck/role=sheshou
hadoop fs -put tank.txt /user/hive/warehouse/test.db/t_all_hero_part_msck/role=tanke--Step4:查询表 可以发现没有数据
select * from t_all_hero_part_msck;--Step5:使用MSCK命令进行修复
--add partitions可以不写 因为默认就是增加分区
MSCK repair table t_all_hero_part_msck add partitions;--Step1:直接使用HDFS命令删除分区表的某一个分区文件夹
hadoop fs -rm -r /user/hive/warehouse/test.db/t_all_hero_part_msck/role=sheshou--Step2:查询发现还有分区信息
--因为元数据信息没有删除
show partitions t_all_hero_part_msck;--Step3:使用MSCK命令进行修复
MSCK repair table t_all_hero_part_msck drop partitions;
http://www.lryc.cn/news/263396.html

相关文章:

  • SpringBoot 源码解析4:事件监听器
  • 使用 FastAPI 和 Vue.js 实现前后端分离
  • 算法基础之SPFA判断负环
  • 一些常用的Linux命令及其简要说明(持续更新)
  • 开发企业展示小程序的关键步骤和技巧
  • Python-Selenium-使用 pywinauto 实现 Input 上传文件
  • Go语言运行时与自家平台对比后认识
  • leetcode 450. 删除二叉搜索树中的节点
  • 小红书可观测 Metrics 架构演进,如何实现数十倍性能提升?
  • selenium学习
  • 前端开发新趋势:Web3、区块链和虚拟现实
  • 如何安装运行Wagtail并结合cpolar内网穿透实现公网访问网站界面
  • 【>D:\10\Debug\RCa00828(34): fatal error RC1022: expected ‘#endif‘】
  • 使用vite搭建项目时,在启动vite后,浏览器显示页面:找不到localhost的网页
  • libp2p 快速开始
  • 【数据结构】——排序算法简答题模板
  • vue3.0基础
  • Kafka本地安装⭐️(Windows)并测试生产消息以及消费消息的可用性
  • 生产环境_Spark解析JSON字符串并插入到MySQL数据库
  • WEB渗透—PHP反序列化(四)
  • LVS-DR模式部署
  • Oracle的学习心得和知识总结(三十)| OLTP 应用程序的合成工作负载生成器Lauca论文翻译及学习
  • HarmonyOS4.0从零开始的开发教程18后台代理提醒
  • 智能优化算法应用:基于算术优化算法3D无线传感器网络(WSN)覆盖优化 - 附代码
  • 在vue中通过js动态绘制table,并且合并连续相同内容的行,支持点击编辑单元格内容
  • 输电线路定位:精确导航,确保电力传输安全
  • ZKP Commitment (1)
  • 【难点】【LRU】146.LRU缓存
  • 基于YOLOv8深度学习的吸烟/抽烟行为检测系统【python源码+Pyqt5界面+数据集+训练代码】目标检测、深度学习实战
  • 菜鸟学习日记(python)——匿名函数