【Hive-Partition】Hive添加分区及修改分区location

这篇具有很好参考价值的文章主要介绍了【Hive-Partition】Hive添加分区及修改分区location。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

当我们在 Hive 中创建外表时,需要映射 HDFS 路径,数据落入到 HDFS 上时,我们在 Hive 中查询时会发现 HDFS中有数据,Hive 没有数据,那是因为我们在 HDFS 上的数据还没有成功修复至 Hive中,需要进行分区的修复(或者称之为添加分区)

1)整表修复数据

set hive.msck.repair.batch.size=1;
set hive.msck.path.validation=ignore;
msck repair table test; 

注意:如果数据量较大,或分区数量较多,整表修复虽然方便但是会伴随风险。

2)单独分区修复

  • 添加分区
alter table dwd.test add if not exists partition (sample_date='20220102',partition_name='r') location '/warehouse/tablespace/external/hive/dwd.db/test/sample_date=20220102/partition_name=r';
  • 修改分区
alter table dwd.test set location '/warehouse/tablespace/external/hive/dwd.db/test/sample_date=20220102/partition_name=r'

注意:每个分区单独修复这样比较稳健,但是伴随的就是工作量会变多,也就是说 Hive 表中有多少个 parition 就要执行多少次 sql。文章来源地址https://www.toymoban.com/news/detail-534986.html

到了这里,关于【Hive-Partition】Hive添加分区及修改分区location的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • Hive 动态分区以及分区以及中文分区字段

    hive 提供了一个动态分区功能,其可以基于查询参数的位置去推断分区的名称,从而建立分区。 1.1 主要配置参数 以下为 Hive 动态分区涉及的配置参数: 1.2 调优相关参数 动态分区相关的调优参数: 2.1 准备数据 以下为准备数据的步骤,以及数据中的内容。 2.2 创建分区表 以

    2024年02月04日
    浏览(43)
  • hive分区表 静态分区和动态分区

    现有数据文件 data_file 如下: 2023-08-01,Product A,100.0 2023-08-05,Product B,150.0 2023-08-10,Product A,200.0 需要手动指定分区 现有源数据表如下: CREATE TABLE sales_source (     sale_date STRING,     product STRING,     amount DOUBLE ); INSERT INTO sales_source VALUES     (\\\'2023-08-01\\\', \\\'Product A\\\', 100.0),     (\\\'2023-08-

    2024年02月10日
    浏览(49)
  • Hive分区表实战 - 多分区字段

    本实战教程通过一系列Hive SQL操作,演示了如何在大数据环境下创建具有省市分区的大学表,并从本地文件系统加载不同地区的学校数据到对应分区。首先,创建名为 school 的数据库并切换至该数据库;接着,在数据库中定义一个名为 university 的分区表,其结构包括ID和名称两

    2024年01月15日
    浏览(45)
  • 【hive】hive修复分区或修复表 以及msck命令的使用

    之前hive里有数据,后面存储元数据信息的 MySQL 数据库坏了,导致hive元数据信息丢失,但是hdfs上hive表的数据并没有丢失,重新建表后查看hive分区没有,数据也没有。 MSCK REPAIR TABLE 是在 Hive 中用于修复分区表(Partitioned Table)元数据的命令。在 Hive 中,当您向分区表添加、删

    2024年02月06日
    浏览(35)
  • HIVE创建分区表

    partitioned by ( c2 string ) # 创建分区 c1跟c2都是字段,但是创建的时候不能写在t2里面,只能写在分区里面(同时select查询的时候,c2的字段也要写在最后面) 要加载数据到分区表,只需在原来的加载数据的语句上增加partition,同时指定分区的字段值即可。 注意:当你退出

    2024年02月15日
    浏览(40)
  • hive删除分区部分数据

    hive表删除数据不能使用delete from table_name 的SQL语句, 一。删除分区部分数据 注意:select后面不能使用* 二、删除分区全部数据 三、删除多个分区数据

    2024年02月13日
    浏览(46)
  • Hive的动态分区与静态分区(区别及详解)

    静态分区与动态分区的区别: 1、静态分区 2、动态分区 静态分区与动态分区的区别: 静态分区是先把分区表创好,然后手动把数据导入到对应的分区里面去。 静态分区实在 编译期间指定分区名 。 静态分区支持load、insert两种插入方式。 静态分区是用于分区少,分区名可以

    2023年04月09日
    浏览(37)
  • 【Hive大数据】Hive分区表与分桶表使用详解

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

    2024年02月03日
    浏览(44)
  • Hive基础知识(十六):Hive-SQL分区表使用与优化

    分区表实际上就是对应一个 HDFS 文件系统上的独立的文件夹,该文件夹下是该分区所有的数据文件。 Hive 中的分区就是分目录 ,把一个大的数据集根据业务需要分割成小的数据集。在查询时通过 WHERE 子句中的表达式选择查询所需要的指定的分区,这样的 查询效率会提高很多

    2024年01月18日
    浏览(39)
  • 关于HIVE的分区与分桶

    Hive中的分区就是把一张大表的数据按照业务需要分散的存储到多个目录,每个目录就称为该表的一个分区。在查询时通过where子句中的表达式选择查询所需要的分区,这样的查询效率会提高很多 个人理解白话:按表中或者自定义的一个列,对数据进行了group by, 然后这时候,查询

    2024年02月14日
    浏览(39)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包