【易客吧】_全网激活码总代_激活码商城

您现在的位置是:首页 > 热门资讯 > 正文

热门资讯

深入分析:使用 Hive 卸载和 purge 命令彻底删除分区数据 (深入分析使用方向)

用户投稿2024-04-15热门资讯22

概述

在使用 Hive 管理大数据时,有效地删除分区数据至关重要,以释放存储空间并提高查询性能。Hive 提供了两种命令——卸载 (MSCK REPAIR TABLE ... UNLOAD) 和 purge (PURGE FROM ...)——用于彻底删除分区数据。本文将深入分析这些命令的使用方向,并提供有关如何有效使用它们的具体指导。

卸载 (MSCK REPAIR TABLE ... UNLOAD)

卸载命令用于将分区数据移动到外部存储位置,例如 HDFS 或 Amazon S3。它不会从元数据中删除分区记录,但会将数据标记为不可用。这允许您保留分区元数据而无需占用宝贵的存储空间。

语法

MSCK REPAIR TABLE <表名> [PARTITION (分区键1 = 值1, 分区键2 = 值2, ...)] UNLOAD

用法

卸载单个分区:MSCK REPAIR TABLE my_table PARTITION (dt='2023-01-01') UNLOAD卸载多个分区:MSCK REPAIR TABLE my_table PARTITION (dt IN ('2023-01-01', '2023-01-02')) UNLOAD卸载整个表:MSCK REPAIR TABLE my_table UNLOAD

注意事项

卸载操作是原子的。这意味着如果操作在中途失败,则不会发生任何更改。卸载数据不会删除分区元数据。已卸载的数据可以在稍后重新加载。

purge (PURGE FROM ...)

purge 命令用于从元数据中永久删除分区记录和数据。这对于释放存储空间和清除不再需要的数据非常有用。

语法

PURGE FROM <表名> [PARTITION (分区键1 = 值1, 分区键2 = 值2, ...)]

用法


hive如何跨分区剔重数据?

一、Hive only:加载分区数据的快捷方法

如果指定的分区不存在Hive将创建新的分区

这个命令将:

(1)如果不存在的话添加分区到表的元数据

(2)如果存在的话,创建子目录:/user/hive/warehouse/call_logs/call_date=2014-10-02

(3)移动HDFS文件到分区子目录

二、查看、添加和移除分区

(1)查看当前表分区

(2)使用ALTER TABLE添加或删除分区

三、 从已存在的分区目录创建分区

(1)HDFS的分区目录可以在Hive或Impala之外进行创建和数据,比如:通过Spark或MapReduce应用

深入分析:使用 Hive 卸载和 purge 命令彻底删除分区数据 (深入分析使用方向) 第1张

(2) Hive中使用MSCK REPAIR TABLE命令来为已存在的表创建分区

四、什么时候使用分区

下列情况使用分区

(1)读取整个数据集需要花费很长时间

(2)查询几乎只对分区字段进行过滤

(3)分区列有合理数量的不同的值

(4)数据生成或ETL过程是按文件或目录名来分段数据的

(5)分区列值不在数据本身

五、什么时候不使用分区

(1)避免把数据分区到很多小数据文件

– 不要对有太多惟一值的列进行分区

(2)注意:当使用动态分区时容易发生

– 比如:按照fname来分区客户表会产生上千个分区

六、 Hive进行分区

在旧的Hive版本中,动态分区默认没有启用 ,通过设置这两个属性启用:

但是在hive分区中我们应该注意一些问题,比如:

(1)注意:Beeline设置的Hive变量只在当前会话有效,系统管理员可以设置永久生效

(2)注意:如果分区列有很多唯一值,将会创建很多分区

另外,我们可以给Hive配置参数来限制分区数 :

查询在某个节点上可以创建的最大动态分区数,默认100

一个HiveQL语句可以创建的最大动态分区数 ,默认1000

一个查询总共可以创建的最大动态分区数,默认

教你如何彻底删除硬盘上被隐藏的分区

以前的ThinkPad笔记本及其他很多笔记本的一键恢复都是采用隐藏分区的方式,将恢复系统的数据放在硬盘上。 这一类笔记本的一键恢复隐藏分区非常容易删除,只要在Windows XP/Windows Vista的开始菜单中用右键单击我的电脑(windows xp)或计算机(Windows Vista),选择管理→存储→磁盘管理,在硬盘分区示意图中选中隐藏的分区,点击右键选择删除磁盘分区即可。 图1 删除分区操作也可以利用windows xp/Vista安装光盘在安装时选择删除隐藏的分区;如果你习惯于窗口式的操作方式,也可以利用PQ Magic等硬盘分区工具,将隐藏的一键恢复磁盘分区删除。 删除联想笔记本的LEOS新一代的联想笔记本采用了被称为LEOS的一键恢复技术对硬盘数据进行备份、恢复,这个功能的实现是通过集成在BIOS中的一个程序和Windows下的一个接口软件相互配合而实现的,即在硬盘上建立一个非隐含分区,进行主分区的备份(也就是通常说的C盘)以便于文件系统被破坏时一键恢复。 普通的操作无法对C盘前的区域进行修改(大约为5GB)。 要删除它,其实也并不困难,先重启电脑,在出现lenovo界面时按键盘右上角的恢复/自定义键,就会出现一键恢复的简洁界面。 这时只有两个选项,一个是系统恢复,另一个是软件和驱动恢复,这时按Shift+B,输入密码lenovo,就会出现一键恢复的标准界面,在此界面选择卸载备份即可。 如果上述方法无法解决,则可以使用windows 98启动光盘/闪存启动系统到DOS,运行LEOS管理软件,键入leostool /db把备份功能关掉,然后键入leostool /dleos,即可把联想备份系统删掉。 删除HPA保护区域由于普通的隐藏分区比较容易被破坏,因此ThinkPad X31以后的ThinkPad机型、部分联想、方正的笔记本及其他品牌的笔记本开始采用HPA(Hidden Protected Area,隐藏保护区域)来保存系统恢复文件。 这种技术给删除隐藏分区带来了不小的难度,很多笔记本用户面对这种情况都一筹莫展。 其实要解决的这问题也并不困难。 在ATA-5协议被确立以后,硬盘引入了隐藏保护区域技术(即HPA),通过用ATA命令直接把硬盘后部的一块区域保护起来,不仅操作系统无法看到该区域,甚至连主板BIOS都无法读取处于保护状态下的隐藏保护区域。 如果一块120GB的硬盘设置了10GB的隐藏保护区域,那么在BIOS也只能检测到110GB。 由于HPA的保护力度要大大高于隐藏分区。 只要不用ATA协议中定义的特别命令打开隐藏保护区域,就不可能用普通方法对此区域进行读写操作,ATA协议还定义了一些锁住保护区域、对保护区域加口令的命令,进一步加强了HPA的可靠性和安全性。 硬盘未被保护的区域,可进行正常的读写、分区、格式化,甚至低级格式化操作,而不会对隐藏保护区域内的数据有任何影响。 1、删除ThinkPad的HPA目前笔记本的HPA大都是笔记本厂商采用Phoenix FirstWare Recover软件建立的。 利用Phoenix FirstWare Recover建立的HPA,自然是用Phoenix FirstWare Recover的组件来删除。 对于ThinkPad系列笔记本来说,第一张恢复光盘的Recovery目录下就有这个组件--Fwdelete。 要想删除HPA,必须先在BIOS里进行一项设置。 进入ThinkPad笔记本的BIOS,依次选择Security→Predesktop Area,将Access IBM Predesktop Area设为Disable(图2)。 然后利用光盘或闪存将笔记本引导到DOS,在DOS界面输入Fwdelete drv=0 all并回车(图3),就可以将顽固的HPA删除。 重新分区后,你就可以使用你全部的硬盘空间了。 图2 Access IBM Predesktop Area设为Disable图3 在DOS界面输入Fwdelete drv=0 all并回车2、删除联想笔记本的HPA有些联想笔记本则需要采用联想的隐藏分区卸载工具Hddfunc/HPATool卸载,Hddfunc的使用比较简单,将系统用光盘或闪存引导到DOS模式,然后在DOS模式下运行Hddfunc/d命令就可以将隐藏的硬盘备份数据区卸载。 对于Hddfunc删除不了的HPA分区来说,就需要用到HPATool了,在DOS模式下键入HPATool/clr,能够将所有模块记录全部清除。 3、删除同方笔记本的HPA同方的笔记本通过一款名为《急救中心》的软件来建立系统HPA恢复分区,通常会占用系统8GB~10GB的硬盘空间。 对于同方笔记本,可在卸载《急救中心》软件后,利用UlockHPA软件将隐藏的HPA分区删除。 方法是将系统用光盘引导到DOS模式,然后在DOS模式下运行UlockHPA-d命令就可以将隐藏的硬盘备份数据区删除。 然后重新启动笔记本,利用PQMagic的分区软件即可使用被隐藏的分区了。 提示:当系统中USB接口插入了闪存或USB移动硬盘时,UlockHPA软件会失效,所以此项操作不能使用闪存引导系统到DOS来执行。 4、通用HPA删除方法除此之外,HPA还可以用MHDD硬盘工具的nhpa命令删除(点击下载),如果你的本本用前面的方法不能够删除HPA,你就可以试试MHDD的nhpa命令了。 方法也很简单,只要运行MHDD,在主界面按Shift+F3选择硬盘,会出现硬盘列表,选择好硬盘(通常情况硬盘是主IDE通道的第一个IDE设备,选1即可),再输入nhpa,按y即可。 图4 MHDD使用界面编后:删除系统自带的恢复分区,无论是隐藏的恢复分区还是HPA保护分区都有一定的危险性,可能会破坏系统数据,建议读者在操作前最好事先做好数据备份工作。 释放系统恢复分区后,还需要用到PQMagic等分区工具新建分区后才能使用释放出来的隐藏分区。

hive中怎样删除分区

准备好环境,小编这边环境已经有了,就不讲解如何搭建环境,毕竟搭建一套大数据需要一段时间的。 准备一个分区表show partitions 表名方法1:使用hive自带sql语法进行删除alter table 表名 drop partition (etl_dt=);再次查看分区还在不在,如果分区不在了,说明该分区已经被删除,数据也已被清空。 show partitions 表名;方法2:采用hdfs命令进行清空这个表还剩下一个分区,咱们把这个分区也清空。 先使用hdfs查看该表实际分区以及数据目录在哪hdfs dfs -ls /user/hive/warehouse//表名小写/或者hadoop fs -ls /user/hive/warehouse//表名小写/两个命令效果一样使用hdfs命令删除该分区目录hdfs dfs -rm -r -f /user/hive/warehouse//表名小写/etl_dt=最后在查看没有分区目录了最查看进hive命令行查看此表是否还有数据

若对本页面资源感兴趣,请点击下方或右方图片,注册登录后

搜索本页相关的【资源名】【软件名】【功能词】或有关的关键词,即可找到您想要的资源

如有其他疑问,请咨询右下角【在线客服】,谢谢支持!

深入分析:使用 Hive 卸载和 purge 命令彻底删除分区数据 (深入分析使用方向) 第2张

发表评论

评论列表

  • 这篇文章还没有收到评论,赶紧来抢沙发吧~
欢迎你第一次访问网站!