清空hive表 姿势大全

这篇具有很好参考价值的文章主要介绍了清空hive表 姿势大全。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

-- 清空分区表 清空hive表 hive分区表清空 清空hive分区表

为什么着重强调分区表,因为分区表清空可能会因为分区过多导致清理速度特别慢.

方式1 truncate table tb1(分区表注意)

注意事项:

truncate table不会删除hdfs 分区文件夹,只会删除parquet文件,所以结果就是一堆分区目录还在,但是下面的parquet文件都被删除了.

truncate table 不止不会删除分区文件夹,而且不会删除hive元数据中存储的分区信息,即hive认为之前的分区还在,spark读取到就会扫描该分区下的文件,没有不报错,但是目录不存在就报错了,这就是为什么手动删除分区文件夹会导致spark2.x报错. spark3变成了警告信息.

通过 show partitions 表名; 来检测hive元数据是否被清空.

使用场景: 分区表的分区不是特别多的场景,比如几百个分区.如果分区太多,那么删除将会分成缓慢.

方式2 复制表结构 删除原表 修改表名(推荐)

有些公司不允许代码新建hive表. eg:sb大华

create table tbnew like tbold;
drop table if exists tbold;
alter table tbnew rename to tbold;

方式3 hadoop删除分区目录 msck修复 (版本号注意)

The MSCK REPAIR TABLE command was designed to manually add partitions that are added to or removed from the file system, such as HDFS or S3, but are not present in the metastore.

可以看文档中写到 msck用来修复你新增或者删除了分区文件,但是没有同步到hive元数据的情况.

坑:

  • hive2的msck只能修复新增的分区,手动删除的分区并不会修复到元数据. msck repair table tableName;
  • hive3.0.0 (https://issues.apache.org/jira/browse/HIVE-17824)可以: msck repair table tableName sync partitions ; 等效于: ALTER TABLE tableName RECOVER PARTITIONS;

msck官方语法:

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

文档: LanguageManual DDL - Apache Hive - Apache Software Foundation

如果你是hive2+spark2 那么方式3会导致你spark任务报错.

如果你是hive3+spark3 那么没问题,但是记得使用 msck的sync模式.文章来源地址https://www.toymoban.com/news/detail-595120.html

如果我就是用hive2 spark2 但是分区已经被我删除了怎么解决

show partitions partitionedtb1; -- 查看hive元数据里面存储了哪些分区
alter table partitionedtb1 set TBLPROPERTIES('EXTERNAL'='TRUE'); -- 修改为外部表是为了保证删除分区后,数据不会被删除
alter table partitionedtb1 drop if exists partition (dt <> 'null'); -- 注意: 这里虽然文件夹没有,但是他是根据元数据走的,所以你的元数据会被删除.
alter table partitionedtb1 set TBLPROPERTIES('EXTERNAL'='FALSE'); 

到了这里,关于清空hive表 姿势大全的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Hive创建分区表并插入数据

    业务中经常会遇到这种需求:数据每天全量更新,但是要求月底将数据单独保存一份以供后期查询某月节点的信息。这时就要考虑用到Hive的分区表实现,即按照月份创建分区表,相当于新的月份数据保存在新表,进而实现保存了历史数据。 分区表的创建本质是在HDFS创建了一

    2024年02月07日
    浏览(48)
  • 【Hive大数据】Hive分区表与分桶表使用详解

    目录 一、分区概念产生背景 二、分区表特点 三、分区表类型 3.1 单分区 3.2 多分区

    2024年02月03日
    浏览(44)
  • 【DolphinScheduler】datax读取hive分区表时,空分区、分区无数据任务报错问题解决

    最近在使用海豚调度DolphinScheduler的Datax组件时,遇到这么一个问题:之前给客户使用海豚做的离线数仓的分层搭建,一直都运行好好的,过了个元旦,这几天突然在数仓做任务时报错,具体报错信息如下: com.alibaba.datax.common.exception.DataXException: Code:[HdfsReader-08], Description:[您尝

    2024年01月16日
    浏览(67)
  • hive数据库delete删除部分数据/删除分区内的数据

    在Hive中,删除部分数据是一个常见的操作,特别是当我们需要清除不再需要的数据或者进行数据更新时。Hive提供了多种方式来删除部分数据,本文将介绍其中几种常用的方法。 最简单的方法是删除整个表,这将删除表中的所有数据。可以使用DROP TABLE语句来完成这个操作。下

    2024年02月04日
    浏览(56)
  • HIVE表数据快速构造(分区表、orc、text)

    引言 当需要在hive数仓中去创建测试表并构造测试数据时,通常需要在安装了hive客户端的服务器环境下,通过执行命令的方式建表。通过在HDFS上上传和加载数据文件的方式来加载数据到hive表中。其中操作算不得多复杂,但比较依赖对环境和命令的熟悉,并且操作不够可视化

    2024年02月16日
    浏览(45)
  • Hive数据加载方式(load、insert;普通表、分区表)

    介绍 Hive 数据加载方式(insert、load) 基础语法: load data [local] inpath \\\'/opt/module/datas/student.txt\\\' [overwrite] into table student[partition ] 参数说明: 1 load data: 表示加载数据 2 local: 表示从本地加载数据到 hive 表;否则从 HDFS 加载数据到 hive 表 3 inpath: 表示加载数据的路径 相对路径,例如

    2024年02月03日
    浏览(55)
  • hive插入动态分区数据时,return code 2报错解决

    目录 一、完整报错 二、原因         2.1、动态分区问题         2.2、语句占用内存问题 三、其他 一、完整报错         Error while processing statement: FAILED: Execution Error, return code 2 from org.apache.hadoop.hive.ql.exec.mr.MapRedTask 二、原因         2.1、动态分区问题         大概

    2024年02月08日
    浏览(44)
  • 大数据开发之Hive(查询、分区表和分桶表、函数)

    1、查询语句语法 2、书写次序和执行次序 顺序 书写次序 书写次序说明 执行次序 执行次序说明 1 select 查询 from 先执行表与表直接的关系 2 from 先执行表与表直接的关系 on 先执行表与表直接的关系 3 join on 先执行表与表直接的关系 join 先执行表与表直接的关系 4 where 先执行表

    2024年01月17日
    浏览(50)
  • 大数据之Hadoop数据仓库Hive

    Hive 是一个构建在 Hadoop 之上的数据仓库,它可以将结构化的数据文件映射成表,并提供类 SQL 查询功能,用于查询的 SQL 语句会被转化为 MapReduce 作业,然后提交到 Hadoop 上运行。 特点: 简单、容易上手 (提供了类似 sql 的查询语言 hql),使得精通 sql 但是不了解 Java 编程的人也

    2024年02月01日
    浏览(48)
  • 大数据技术之Hadoop学习(七)——Hive数据仓库

    目录 素材 一、数据仓库简介 1、数据仓库的认识 (1)数据仓库是面向主题的。 (2)数据仓库是随时间变化的。 (3)数据仓库相对稳定 (4)OLTP和OLAP 2、数据仓库的结构 (1)数据源 (2)数据存储及管理 (3)OLAP 服务器 (4)前端工具 3、数据仓库的数据模型 (1)星状模

    2024年02月17日
    浏览(42)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包