广告
返回顶部
首页 > 资讯 > 数据库 >怎么从MySQL数据库中删除Hive元数据
  • 362
分享到

怎么从MySQL数据库中删除Hive元数据

2023-06-02 23:06:21 362人浏览 安东尼
摘要

这篇文章主要介绍了怎么从MySQL数据库中删除Hive元数据,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。Hive上所有元数据均保存在RDBMS中,所以删除RDBMS中的Hi

这篇文章主要介绍了怎么从MySQL数据库中删除Hive元数据,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

Hive上所有元数据均保存在RDBMS中,所以删除RDBMS中的Hive的元数据,不会影响hdfs上的数据。目前针对Mysql数据库进行分析。

Hive在mysql数据库中的相关元数据的关系图:

怎么从MySQL数据库中删除Hive元数据

解决办法:先Mysql的库中建个存储过程P_TBL_DATA_DEL后,执行该存储过程就可以了。

存储过程脚本:

DELIMITER $$

DROP PROCEDURE IF EXISTS P_TBL_DATA_DEL$$

CREATE PROCEDURE P_TBL_DATA_DEL(

   i_tbl_id                            int                    -- 表ID

  ,outo_outcode                      integer                -- 输出代码

  ,outo_outmsg                       varchar(500)           -- 输出信息

)

  COMMENT '从MySQL数据库中删除Hive元数据'

label_pro:

BEGIN

    -- =========================== 声明变量 ===========================

    -- 自定义变量

    DECLARE v_sd_id         int ;   -- 存储配置ID       SDS: 该表保存文件存储的基本信息

    DECLARE v_part_id       int ;   -- 分区ID           PARTITioNS:该表存储表分区的基本信息

    DECLARE v_cd_id         int ;   -- 表字段信息ID     COLUMNS_V2:该表存储表对应的字段信息

    DECLARE v_serde_id      int ;   -- 序列化类配置ID   SERDES:该表存储序列化使用的类信息

    DECLARE v_tbl_id        int ;   -- 表ID   用于接收输入参数           

    -- =========================== 声明异常 ===========================

    DECLARE EXIT HANDLER FOR SQLEXCEPTION

    BEGIN

        ROLLBACK;

        -- 发生异常后的返回值

        set o_outcode =-1;

        set o_outmsg ='failure';

    end ;

    -- =========================== 变量初始化 ===========================

    -- 判断输入的表ID是否为NULL,并进行赋值

    IF i_tbl_id IS NOT NULL then

      SET v_tbl_id = i_tbl_id ;

    ELSE  -- 否则默认赋值0

      SET v_tbl_id = 0 ;

    END IF ;

    -- =========================== 业务处理 ===========================

    -- START TRANSACTION;

    -- todo begin

      -- 根据表ID获取 存储配置ID(SDS.SD_ID)

      select 

        SD_ID 

          into 

        v_sd_id 

      from tbls 

      where TBL_ID = v_tbl_id

      ;

      -- 根据表ID获取 分区ID(PARTITIONS.part_id)

      select 

          part_id  

        into 

          v_part_id 

      from partitions 

      where tbl_id = v_tbl_id

      ;

      -- 根据存储配置ID(SDS.SD_ID)获取 表字段信息ID(COLUMNS_V2.cd_id)和序列化类配置ID(SERDES.serde_id)

      select 

           cd_id 

          ,serde_id 

        into 

           v_cd_id

          ,v_serde_id 

      from sds 

      where sd_id = v_sd_id

      ;

    -- 删除表属性信息数据

    delete from table_params where tbl_id = v_tbl_id;

    -- 删除表信息数据

    delete from tbls where tbl_id = v_tbl_id;

    -- 删除文件存储的基本信息数据

    delete from sds where sd_id = v_sd_id;

    -- 删除存储序列化属性信息数据

    delete from serde_params where serde_id = v_serde_id;

    -- 删除存储序列化使用的类信息数据

    delete from serdes where serde_id = v_serde_id;

    -- 删除表的字段信息数据

    delete from columns_v2 where cd_id = v_cd_id;

    -- 判断是否v_part_id值是否为空,如果不为空,表示分区属性表和分区字段值表有值,进行删除.

    if v_part_id is not  null then 

        -- 删除分区属性信息数据

        delete from partition_params where part_id = v_part_id;

        -- 删除分区字段值表数据  

        delete from partition_key_vals where part_id = v_part_id;

    end if;

    -- 删除分区信息数据

    delete from partitions where tbl_id = v_tbl_id;

    -- 删除分区字段信息数据

    delete from partition_keys where tbl_id = v_tbl_id;

    -- todo end

    -- COMMIT;

    -- 处理成功后的返回值

    set o_outcode =0;

    set o_outmsg = 'succe' ;

END

$$

DELIMITER ;

感谢你能够认真阅读完这篇文章,希望小编分享的“怎么从MySQL数据库中删除Hive元数据”这篇文章对大家有帮助,同时也希望大家多多支持编程网,关注编程网数据库频道,更多相关知识等着你来学习!

您可能感兴趣的文档:

--结束END--

本文标题: 怎么从MySQL数据库中删除Hive元数据

本文链接: https://www.lsjlt.com/news/231618.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 怎么从MySQL数据库中删除Hive元数据
    这篇文章主要介绍了怎么从MySQL数据库中删除Hive元数据,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。Hive上所有元数据均保存在RDBMS中,所以删除RDBMS中的Hi...
    99+
    2023-06-02
  • MySQL中怎么删除数据库
    今天就跟大家聊聊有关MySQL中怎么删除数据库,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。MySQL 删除数据库使用 mysqladmi...
    99+
    2022-10-18
  • mysql怎么删除数据库
    这篇文章主要介绍了mysql怎么删除数据库,具有一定借鉴价值,需要的朋友可以参考下。希望大家阅读完这篇文章后大有收获。下面让小编带着大家一起了解一下。mysql怎么删除数据库1. 通过win+r快...
    99+
    2022-10-18
  • 关于从Oracle数据库中删除数据
    1,删除表 drop 1.1 执行drop table table_name  语句 被 drop后的表被放在用户回收站(user_recyclebin)里,而没有被直...
    99+
    2022-10-18
  • MySQL中怎样删除数据库
    MySQL中怎样删除数据库,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。drop命令删除数据库  drop命令格式:  dro...
    99+
    2022-10-18
  • MySQL数据库中怎么恢复误删除数据
    本篇文章为大家展示了MySQL数据库中怎么恢复误删除数据,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。1. 找到binlog恢复数据的前提是必须开启Mysql的bi...
    99+
    2022-10-18
  • mysql怎么批量删除数据库中的数据
    mysql怎么批量删除数据库中的数据?这个问题可能是我们日常学习或工作经常见到的。希望通过这个问题能让你收获颇深。下面是小编给大家带来的参考内容,让我们一起来看看吧!mysql批量删除数据库中数据的方法:通...
    99+
    2022-10-18
  • MySQL 删除数据库
    MySQL 删除数据库使用 mysqladmin 删除数据库使用普通用户登陆mysql服务器,你可能需要特定的权限来创建或者删除 MySQL 数据库。所以我们这边使用root用户登录,root用户拥有最高权...
    99+
    2022-10-18
  • MySQL删除数据库
    目录 一、drop命令删除数据库 二、使用mysqladmin删除数据库 三、使用PHP脚本删除数据库 一、drop命令删除数据库 使用普通用户登陆 MySQL 服务器,可能需要特定的权限来创建或者删除 MySQL 数据库,所以这边使用...
    99+
    2023-08-31
    数据库 mysql php
  • 怎么在mysql数据库中删除重复的数据
    本篇文章为大家展示了怎么在mysql数据库中删除重复的数据,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。1.问题引入假设一个场景,一张用户表,包含3个字段。id,identity_id,name。现...
    99+
    2023-06-07
  • 怎么彻底删除mysql数据库
    要彻底删除MySQL数据库,需要执行以下步骤:1. 进入MySQL命令行界面,可以使用以下命令登录:```mysql -u root...
    99+
    2023-08-16
    mysql数据库
  • 主机怎么删除mysql数据库
    主机删除mysql数据库的方法:打开控制面板,点击程序和功能,卸载MySQL server服务。在桌面按下win+r键,运行reqedit,按HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\...
    99+
    2022-10-09
  • 怎么使用PHP从数据库中删除记录
    本文小编为大家详细介绍“怎么使用PHP从数据库中删除记录”,内容详细,步骤清晰,细节处理妥当,希望这篇“怎么使用PHP从数据库中删除记录”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。1.连接到数据库首先,您需要与...
    99+
    2023-07-05
  • MySQL怎么删除数据
    这篇文章主要介绍了MySQL怎么删除数据,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。 在Oracle里面对于...
    99+
    2022-10-18
  • 【MySQL 】MySQL 创建数据库, MySQL 删除数据库,MySQL 选择数据库
    作者简介: 辭七七,目前大一,正在学习C/C++,Java,Python等 作者主页: 七七的个人主页 文章收录专栏: 七七的闲谈 欢迎大家点赞 👍 收藏 ⭐ 加关注哦!💖💖 ...
    99+
    2023-08-24
    数据库 mysql 后端 开发语言 jvm
  • 如何用PHP从MySQL数据库中添加、更新和删除数据
    本篇内容主要讲解“如何用PHP从MySQL数据库中添加、更新和删除数据”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何用PHP从MySQL数据库中添加、更新和删除数据”吧!一、PHP和MySQ...
    99+
    2023-07-05
  • Mysql误删除数据库怎么恢复
    这篇文章主要讲解了“Mysql误删除数据库怎么恢复”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Mysql误删除数据库怎么恢复”吧! ...
    99+
    2022-10-18
  • mysql数据库误删除后怎么办
    小编给大家分享一下mysql数据库误删除后怎么办,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!首先,要确保mysql开启了binlog日志功能在/etc/my.cnf文件里的[mysqld...
    99+
    2022-10-18
  • 怎么使用PHP删除MySQL数据库
    本篇内容主要讲解“怎么使用PHP删除MySQL数据库”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么使用PHP删除MySQL数据库”吧!删除一个数据库如果数据库不再需要那么它将可以被永远删除。...
    99+
    2023-06-20
  • mysql如何删除数据库
    本文小编为大家详细介绍“mysql如何删除数据库”,内容详细,步骤清晰,细节处理妥当,希望这篇“mysql如何删除数据库”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。 ...
    99+
    2022-10-19
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作