Hive - truncate partition、drop partition 区别

2023-05-16

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

Hive 有两种方法删除指定parition的数据:truncate partition, drop parition

功能:

两者都用于删除数据,即将对应的partition的数据文件删除。


不同点:

truncate 只删除数据文件,保存在mysql中的metadata不会被删除。

drop partition 只删除数据文件且删除在mysql中的metadata。


举例:

表food的结构:

id     bigint
name   string


数据文件,food.data:

1    banana
2    orange
3    apple
4    nutz


导入food.data后查询, select * from food:

输出:

1    banana    20151219
2    orange    20151219
3    apple     20151219
4    nutz      20151219


现在想给food添加一列price: 

ALTER TABLE food ADD COLUMNS (price int);

表结构变成:

id    bigint
name  string
price int


并且把food.data对应位置多加一列:

1    banana    20
2    orange    30
3    apple     30
4    nutz      40


删除旧的数据(drop partition)

TRUNCATE TABLE food PARTITION (dt='20151219');


重新导入包含price信息的food.data,再查询:

1       banana  NULL    20151219
2       orange  NULL    20151219
3       apple   NULL    20151219
4       nutz    NULL    20151219

可见,虽然表格的结构和数据文件都已经有price的信息,但导入后,hive并没有识别出price这列。原因是hive中metadata中没有price的信息。 drop partition只是删除数据文件,并没有删除metadata中的信息。


show partitions food 看看,输出结果:

dt=20151219

证明truncate删除后,分区信息还没有删除。


用drop partition再试一次:

ALTER TABLE food DROP IF EXISTS PARTITION (dt='20151219');

这时show partitions food, 'dt=20151219' 的分区已经被删除。


重新导入包含price信息的food.data,再查询:

1    banana  20      20151219
2    orange  30      20151219
3    apple   30      20151219
4    nutz    40      20151219


总结:

truncate删除分区,只删除数据文件,parttion的信息还保留在配置的mysql中;drop partition删除分区,数据文件和metadata一起清除。

以后大家就根据实际情况选择使用了。


转载于:https://my.oschina.net/ericquan8/blog/547967

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Hive - truncate partition、drop partition 区别 的相关文章

随机推荐

  • C语言截取字符串

    1 从左边截取指定长度的字符串 代码功能 xff1a 从字符串开头 xff0c 截取指定长度的字符 include lt stdio h gt include lt wiringPi h gt int main char arr 128 6
  • 【Android-3】Android中的任务栈(Task)

    一 Android任务栈 概述 xff1a Android中的任务栈其实就是Activity的集合 xff0c 在Android中退出程序的时候必须把任务栈中的所有Activity清除出栈 xff0c 此时才能安全的完全的退出程序 xff0
  • Boost 和 STL 相比有哪些优势和劣势?

    1 在设计原则上 xff0c STL和Boost大体统一 因为STL和Boost基本上都是标准委员会那批人在策划 审核和维护 xff0c 所以口味上是相对接近的 但是因为Boost并不在标准中 xff0c 或者说是下一代标准的试验场 xff
  • udp通信 c 语言,Windows程序设计 | 基于UDP的C/S通讯实现

    作者小序 今天翘课一天 xff0c 本打算一个早上写完网络编程实验报告就出去溜达 xff0c 结果从早上九点到这会没出过宿舍门 xff0c 宅到不能再宅了 xff0c 哎 xff0c 一首凉凉送给自己 分享一下干货吧 xff0c windo
  • Linux 下tcp编程例子

    服务器端server程序 编译命令 xff1a gcc Wall g o server server c lpthread include lt stdio h gt include lt string h gt include lt st
  • 微信开发者工具配置服务器信息,微信开发者中心如何配置

    微信开发者中心配置是怎么样的呢 xff0c 那么微信开发者中心又是如何配置的呢 下面是学习啦小编收集整理的微信开发者中心如何配置 xff0c 希望对大家有帮助 微信开发者中心配置的方法 工具 原料 一台电脑和一个微信公众号 需要再SEA上部
  • 【尖端干货】H.264编码下直播视频添加水印的优化

    2016年被称为 中国网络直播元年 xff0c 网络直播已成为网络文化领域重要的经营模式和文化市场的重要组成部分 而以 直播造人 事件为节点 xff0c 直播行业进入了严格规范化的时期 xff0c 鉴黄 版权保护越来越受到直播行业的关注 在
  • C++ 防止重定义

    防止重定义有2种方法 xff1a 第一种 xff1a ifndef MY HEAD H INCLUDED define MY HEAD H INCLUDED endif MY HEAD H INCLUDED 此种方案是一种很通用的方案 xf
  • 51单片机串口通讯c语言程序,如何使用51单片机实现串口通信

    描述 STC51单片机一般带有1个串口 xff0c 有的带有2个串口 xff0c 串口一般用于下载程序和串口通信 串口通信特别适合控制设备 xff0c 所以工控机的电脑上一般都带有串口 51单片机的串口引脚为P3 0引脚与P3 1引脚 xf
  • nautilus命令

    nautilus 是图形程式 效果是以当前用户打开图形界面 所以如果想以root打开图形界面 使用时记得先切为root xff0c sudo没有用的 转载于 https www cnblogs com wangshaowei p 90313
  • 如何在SV中使用结构体struct语法

    前言 测试下可综合的struct xff0c struct和interface的区别 xff1a 两者都可以是信号的组合 xff0c 但interface可以定义信号的不同方向 xff0c 而struct中的所有信号都是同向的 struct
  • http digest

    HTTP digest 摘要访问认证是一种协议规定的Web服务器用来同网页浏览器进行认证信息协商的方法 它在密码发出前 xff0c 先对其应用哈希函数 xff0c 这相对于HTTP基本认证发送明文而言 xff0c 更安全 从技术上讲 xff
  • 理解字节序

    1 计算机硬件有两种储存数据的方式 xff1a 大端字节序 xff08 big endian xff09 和小端字节序 xff08 little endian xff09 举例来说 xff0c 数值0x2211使用两个字节储存 xff1a
  • Solaris 10整合apache与php过程及出错处理

    Solaris 10 整合 apache 与 php 过程及出错处理 lt xml namespace prefix 61 o ns 61 34 urn schemas microsoft com office office 34 gt 作
  • 去百度API的百度地图准确叠加和坐标转换的解决方案研究

    文章版权由作者李晓晖和博客园共有 xff0c 若转载请于明显处标明出处 xff1a http www cnblogs com naaoveGIS 1 背景 目前项目上如果要使用百度地图 xff0c 得加载百度的开发包 xff0c 然后通过百
  • 7款纯CSS3实现的炫酷动画应用

    1 纯CSS3实现人物摇头动画 这次我们要来分享一款超级可爱的纯CSS3人物摇头动画 xff0c 初始化的时候人物的各个部位是利用CSS3动画效果拼接而成 xff0c 接下来就是人物听音乐的场景 xff0c 一边听音乐一边摇着脑袋 xff0
  • 快速将自己的应用程序做成安装包

    打包程序的方式多种多样 xff0c 比如大家常用的VS NSIS等等 xff0c 但对于一个简单的应用程序 xff0c 如果你不涉及复杂的安装设置 xff0c 那么压缩工具 xff0c 是个不错的选择 当然用压缩工具制作程序安装包已经不是什
  • 关于小程序websocket全套解决方案,Nginx代理wss

    需求对话 提问 我在本地web能够使用ws协议去链接websocket xff0c 但是小程序不能使用 回答 由于小程序使用的是SSL加密协议 xff0c 所以需要使用wss 这里wss与ws的关系就相当于https于http的关系 提问
  • 打印机主流的指令类型(ESC命令集+CPCL命令集+TSPL命令集)

    概述 打印指令 xff0c 又称打印控制命令 计算机通过打印控制语言 xff0c 以软件命令的方法来控制打印机操作 xff0c 解释执行打印数据 xff0c 获得打印结果的 对于打印机所实现的复杂功能而言 xff0c 打印控制语言是基础 它
  • Hive - truncate partition、drop partition 区别

    2019独角兽企业重金招聘Python工程师标准 gt gt gt Hive 有两种方法删除指定parition的数据 xff1a truncate partition drop parition 功能 xff1a 两者都用于删除数据 xf