HIVE注释修改、元数据管理

Hive表的基本操作 文章目录1. 创建表2. 拷贝表3. 查看表结构4. 删除表5. 修改表5.1 表重命名5.2 增、修、删分区5.3 修改列信息5.4 增加列5.5 删除列5.6 修改表的属性 1. 创建表 create table语句遵从sql语法习惯,只不过Hive的语法更灵活。例如,可以定义表的数据文件存储位置,使用的存储格式等。 create table if not exists test.user1( name string comment 'name', salary float comment 'salar 阅读详情

1、概述

  • 元数据(Metadata):描述数据的数据
    例如学生信息表中,小黄和15是数据,student_name和age是元数据
元数据分类说明示例
技术元数据数仓的设计和管理人员 用于开发和管理数仓时用的数据数据源信息、数据转换的描述、源数据到目的数据的映射
业务元数据能体现业务逻辑表和字段的业务描述
  • 元数据管理:注释管理、血缘分析、元数据分类、元数据查询…
    目的:帮助开发人员快速理解业务和查找字段,降低开发的运维成本

2、HIVE注释管理

  • 在本文,HIVE元数据信息存到MySQL
    在数仓建设中,建库建表时要添加注释(COMMENT)
    对于一些历史遗留的缺乏注释的表,要对其添加注释

  • 解决HIVE中文注释乱码:
    https://yellow520.blog.csdn.net/article/details/115960751

2.1、DDL

2.1.1、创建时添加注释

建库时添加注释

CREATE DATABASE b0 COMMENT '测试库';
USE b0;

建表时添加注释

CREATE TABLE t0(
    c0  INT     COMMENT '字段注释0',
    c1  STRING  COMMENT '字段注释1'
)COMMENT "表注释"
PARTITIONED BY (
    p0 STRING COMMENT "分区注释0",
    p1 INT COMMENT "分区注释1"
);

创建视图时添加注释

CREATE VIEW v0(
    c0  COMMENT '列注释0',
    c1  COMMENT '列注释1')
COMMENT '视图注释'
AS
SELECT c0,c1 FROM t0;

2.1.2、修改注释

修改表注释

ALTER TABLE t0 SET TBLPROPERTIES('comment'='修改表注释');

修改字段注释ALTER TABLE 表名 CHANGE COLUMN 旧列名 新列名 数据类型 COMMENT '修改列注释';

ALTER TABLE t0 CHANGE COLUMN c1 c1 STRING COMMENT '修改列注释';

修改库和分区的注释可以去MySQL那边改(去HIVE官网找了一圈,暂时没找到😭)

-- 修改库注释(2个参数:库名、库注释)
UPDATE `DBS` SET `DESC`='修改库注释' WHERE `NAME`='b0';
-- 修改分区注释(4个参数:库名、表名、分区名、分区注释)
UPDATE `PARTITION_KEYS` SET `PKEY_COMMENT`='修改分区注释'
WHERE `TBL_ID` IN (
  SELECT t.TBL_ID
  FROM `DBS`b
  LEFT JOIN `TBLS`t ON b.`DB_ID`=t.`DB_ID`
  WHERE b.`NAME`='b0' AND t.`TBL_NAME`='t0'
)AND `PKEY_NAME`='p0';

2.2、在MySQL查看HIVE元数据

切换到存储HIVE元数据的库

USE metastore;

ER图

2.2.1、查看库

SELECT
    `DB_ID`,            -- 库ID
    `DESC`,             -- 库注释
    `DB_LOCATION_URI`,  -- 库在HDFS的位置
    `NAME`              -- 库名
FROM `DBS`;

2.2.2、查看表

查看表和表注释

SELECT
	b.`NAME`,               -- 库名
	t.`TBL_NAME`,           -- 表名
	t.`TBL_TYPE`,           -- 表类型
	c.`PARAM_VALUE`,        -- 表注释
	t.`VIEW_EXPANDED_TEXT`  -- 视图的SQL
FROM `DBS` b
LEFT JOIN `TBLS` t ON b.`DB_ID`=t.`DB_ID`
LEFT JOIN (
	SELECT `TBL_ID`,`PARAM_VALUE`
	FROM `TABLE_PARAMS`
	WHERE `PARAM_KEY`='comment'
)c ON t.`TBL_ID`=c.`TBL_ID`;

2.2.3、查看列

列注释:COLUMNS_V2的COMMENT

SELECT
    t.`TBL_NAME`,     -- 表名
    c.`COLUMN_NAME`,  -- 字段名
    c.`COMMENT`,      -- 字段注释
    c.`TYPE_NAME`     -- 字段的数据类型
FROM `TBLS`t
LEFT JOIN `SDS`s ON s.`SD_ID`=t.`SD_ID`
LEFT JOIN `COLUMNS_V2`c ON s.`CD_ID`=c.`CD_ID`;

2.2.4、查看分区

SELECT
    t.`TBL_NAME`,      -- 表名
    p.`PKEY_NAME`,     -- 分区名
    p.`PKEY_COMMENT`,  -- 分区注释
    p.`PKEY_TYPE`      -- 分区的数据类型
FROM `PARTITION_KEYS`p
LEFT JOIN `TBLS`t ON t.`TBL_ID`=p.`TBL_ID`;

2.2.5、查看全部

SELECT
    b.`NAME`,            -- 库名
    b.`DESC`,            -- 库注释
    t.`TBL_NAME`,        -- 表名
    t.`TBL_TYPE`,        -- 表类型
    tc.`PARAM_VALUE`,    -- 表注释
    c.`COL_NAME`,        -- 字段名
    c.`COL_COMMENT`,     -- 字段注释
    c.`DATA_TYPE`,       -- 数据类型
    c.`COL_TYPE`         -- 字段类型(列or分区)
-- 库
FROM `DBS` b
-- 表
INNER JOIN `TBLS` t ON b.`DB_ID`=t.`DB_ID`
-- 表注释
LEFT JOIN (
    SELECT `TBL_ID`,`PARAM_VALUE`
    FROM `TABLE_PARAMS`
    WHERE `PARAM_KEY`='comment'
    )tc ON t.`TBL_ID`=tc.`TBL_ID`
-- 字段注释
LEFT JOIN(
    (
        -- 分区注释
        SELECT
            `TBL_ID`,                         -- 表ID
            `PKEY_NAME`      `COL_NAME`,      -- 分区名
            `PKEY_COMMENT`   `COL_COMMENT`,   -- 分区注释
            `PKEY_TYPE`      `DATA_TYPE`,     -- 数据类型
            'partition'         `COL_TYPE`    -- 类型
        FROM `PARTITION_KEYS`
        )UNION ALL(
        -- 列注释
        SELECT
            t.`TBL_ID`       `TBL_ID`,        -- 表ID
            c.`COLUMN_NAME`  `COL_NAME`,      -- 字段名
            c.`COMMENT`      `COL_COMMENT`,   -- 字段注释
            c.`TYPE_NAME`    `DATA_TYPE`,     -- 字段的数据类型
            'column'      `COL_TYPE`          -- 类型
        FROM (
            SELECT b.`TBL_ID`,s.`CD_ID` FROM `TBLS`b
            INNER JOIN `SDS`s ON s.`SD_ID`=b.`SD_ID`
        )t
        LEFT JOIN `COLUMNS_V2`c ON t.`CD_ID`=c.`CD_ID`
    )
)c ON t.`TBL_ID`=c.`TBL_ID`;

hive修改表备注,字段备注 修改表备注: ALTER TABLE 数据库名.表名 SET TBLPROPERTIES('comment' = '新的表备注'); 修改字段备注: ALTER TABLE 数据库名.表名 CHANGE COLUMN 字段名 新的字段名(如果不变就保持原字段) 字段类型(若不变就采用原来的字段) COMMENT '新的字段备注'; ... 阅读详情

相关推荐

Hive学习之视图、索引DDL

创建视图  视图是纯逻辑对象并不关联任何存储,下面的语句使用给定view_name名称创建视图,若view_name与现存的表或者视图重名,则出错。 CREATE VIEW [IF NOTEXISTS] view_name [(column_name [COMMENT column_comment], ...) ] [COMMENTview_comment] [TBLPROPERTIES(p

skyWalker_ONLY 6417

hive 的注释(comment) 中文乱码的解决方法(亲测有效)

最近群里有人问我hive中文显示乱码的问题, 下面就来说一下,怎么设置. 创建表的时候,comment说明字段包含中文,表成功创建成功之后,desc的时候中文说明显示乱码.如下图所示: 我们知道hive的元数据是有mysql管理的,所以这是mysql的元数据的问题.下面我们就修改一下字符编码 (1)修改表字段注解和表注解 alter table COLUMNS_V2 modify co...

JasonLee实时计算 1万+

控制台模拟前端请求实现快速刷网课时长

本教程仅用于学习前端技术和网页开发,旨在提供教育与技术指导。对于任何未经授权或违反规定的使用行为,本人不承担任何责任。注意到那个serive后面有timestamp时间戳,暗示它很可能就是每30秒汇报一次进度和播放时长的命令,我们右键——复制——复制为fetch。有的网站上的网课需要的不仅仅是进度,而是时长,所以倍速插件失效,但我们可以使用控制台命令来模拟请求实现快速刷网课时长。尝试修改即可,例如我修改time为800,然后复制粘贴到控制台执行。播放视频,等待前端请求出现,然后复制前端请求为fetch。

m0_74823408的博客 2071

Hive建表以后comment中的中文注释为???

查看 comment 字段是否为 utf8, 如果不是utf8使用以下命令修改字段的编码,修改以后重启mysql.由于是通过CDH安装的hive 所以直接在页面配置中修改属性 javax.jdo.option.ConnectionURL。问题: 搭建hive以后在建表的时候发现 hive表中的中文注释为?解决: 1 查看元数据中的表的编码。修改完成后,重启hive。

zgj123456a的博客 765

如何在VSCode中无缝集成Azure OpenAI GPT-5-codex?保姆级配置教程

本文详细介绍了在VSCode中无缝集成Azure OpenAI GPT-5-codex的完整配置教程,涵盖环境准备、Azure资源创建、本地配置、VSCode插件安装及高级定制。通过Codex CLI和config.toml文件配置,开发者可快速实现AI辅助编程,大幅提升代码生成、错误诊断和文档编写效率。

weixin_29268637的博客 558

FAST_LIO_ROS2 可以用gazebo仿真吗?

摘要:FAST_LIO_ROS2可与Gazebo仿真环境兼容,通过订阅Gazebo模拟的激光雷达和IMU数据实现SLAM建图。已有开源项目(如pb_rm_simulation)验证了该方案,支持导航模式切换与真实机器人移植。关键步骤包括环境配置、传感器话题匹配及参数调试,需注意版本兼容性与数据噪声处理。相关教程提供了从环境搭建到三维建图的完整流程。

专注 激光SLAM, 目标检测, 欢迎关注, 分享交流! 1139

Hive comment中文乱码解决

由于hive底层的运行机制,即把元数据存储在MySQL中,但是MySQL的默认编码是支持Latin1的编码,不支持中文编码。数据库hive中的表就存储了hive的各种元数据信息。首先就是进入MySQL。

SindriC的博客 963

电压抬升电路设计

一、实验目的 掌握集成运放电压放大电路设计基本方法。 掌握基本仪器使用方法(电源、信号发生器、示波器)。 二、实验内容及结果 实验内容 基于集成运放设计一传感器信号采集电路。传感器输出信号在±50mV,频率为100Hz以内,模数转换器允许输入电压在0~5V,要求设计传感器与模数转换器之间的信号采集电路,实现传感器信号放大10倍,并适合模数转换器的输入。模数转换器的输入电阻为1KHz,设计电路时,可使用1KHz电阻作为信号采集电路负载,代替模数转换器。 实验具体要求如下: (1)确定电路形式,说明电压转

Safaearth的博客 4万+

Hive 表注释与元数据管理:提升表可读性的实操技巧

注释内容规范:注释应清晰、简洁,覆盖表用途、字段定义和业务上下文。避免技术黑话。一致性管理:团队统一注释模板(如“字段名: 描述;示例”)。定期维护:在表结构变更时同步更新注释,确保元数据始终最新。可读性收益:通过这些技巧,查询效率提升20%以上(基于经验数据),团队协作更高效。通过以上实操技巧,您能显著提升Hive表的可读性和可维护性。如需深入,建议参考Hive官方文档的元数据章节。

2501_94072725的博客 1407

论文理解【LLM-OR】——【OptMATH】A Scalable Bidirectional Data Synthesis Framework for Optimization Modeling

本文提出 LLM-OR 领域的双向数据合成框架 OptMATH,从已有 MF/PD 出发反向生成 NL,再使用 AutoFormulator 进行正向建模,通过最优值匹配 rejection sampling 确保语义一致性。实现了难度可控的语义一致数据合成

佚失的诗篇 499

FPGA实战:AXI BRAM Controller配置避坑指南(Vivado 2023版)

本文详细解析了Vivado 2023环境下AXI BRAM Controller的配置技巧与避坑指南,涵盖AXI4协议转换、BRAM地址空间配置、信号异常处理及突发传输优化等核心内容。针对写时序冲突、跨时钟域处理等常见问题提供实用解决方案,帮助开发者提升FPGA系统性能与稳定性。

q1w3e5r7t9y的博客 344

Hive DDL

hive 4.0.0 修改表/分区/列 修改表 修改表名 ALTER TABLE old_table_name RENAME TO new_table_name; 从0.6版本开始,对内部表的重命名将移动其在HDFS的位置。从Hive 2.2.0 开始重命名已更改。 只有在没有 LOCATION 子句且在其数据库目录下创建表时,才会移动内部表的 HDFS 位置。 0.6 之前的 Hive 版本只是在不移动 HDFS 位置的情况下重命名了 Metastore 中的表。 修改表Properties ALT

qq_41953856的博客 1493

OpenClaw常见4大赋能工作场景

OpenClaw不仅仅是一个AI工具,更像是个人与企业的“数字操作系统”——它连接大模型与真实世界,让“思考”与“行动”无缝闭环。

王国平的博客 629

hive支持MySQL显示中文,解决字段注释乱码

hive支持MySQL显示中文,解决字段注释乱码

weixin_46556780的博客 3424

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

Hadoop Hive sql语法详解2-修改表结构

hive同样也面对传统数据库的一些操作,那么hive 1.如何增加分区、删除分区? 2.如何重命名表? 3.如何修改列的名字、类型、位置、注释? 4.如何增加/更新列? 5.如何增加表的元数据信息? 表添加一列 : hive> ALTER TABLE pokes ADD COLUMNS (new_col INT); 复制代码 添加一列并增加列字

z69183787的专栏 1388

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

解决hive注释中文乱码

解决hive注释中文乱码,包括desc和show create table这两个命令的输出乱码问题。

m0_37692438的博客 3304

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

hive表添加字段

alter table 表名 add columns (列名 string COMMENT '列注释');

感谢你的关注~~~~ღ( ´・ᴗ・` ) 424

Hive之DDL数据定义

1 创建数据库 1)创建一个数据库,数据库在HDFS上的默认存储路径是/user/hive/warehouse/*.db。 hive (default)> create database db_hive; 2)避免要创建的数据库已经存在错误,增加if not exists判断。(标准写法) hive> create database db_hive; FAILE...

Faded1573606285的博客 245

Hive 基本操作

目录 1.显示地展示当前使用的数据库 2.建表 3.导入本地文件 4.数据库多用户共享表 5.创建数据库 5.1仓库数据库判断数据库是否存在 5.2.显示现在有的数据库 5.3条件查询数据库 5.4创建指定存放文件位置 数据库 5.5创建数据库时 添加注释信息 5.6创建数据库 添加扩展信息

你懂了我的冬天的博客 435

Hive-DDL数据定义

创建数据库 1)创建一个数据库 db_liun,数据库在HDFS上的默认存储路径是/user/hive/warehouse/*.db。 create database db_liun; 2)避免要创建的数据库已经存在错误,增加if not exists判断。(标准写法) create database if not exists db_liun; 3)创建一个数据库,指定数据库在HD...

liu_1221的博客 194

Hive元数据

Hive元数据是指描述和存储有关Hive数据仓库中数据和表结构的信息。这些信息包括数据库、表、分区、列、数据类型、存储格式以及其他相关元素的定义和属性。元数据在Hive中起着关键的作用,它使得Hive能够理解和操作存储在底层存储系统中的数据。Hive元数据是Hive数据仓库的重要组成部分,它描述了Hive中数据和表的结构和属性。通过合理地管理和操作Hive元数据,可以提高Hive的性能、可管理性和可靠性。内嵌式(Embedded)元数据使用Hive内置的Derby数据库作为元数据存储。

wty109的博客 1838

hive 查看库的注释及中文乱码及创建带注释的表

把最近常用到的一些语句做些总结:包括查看库注释,注释中文乱码的解决,创建带注释的表等。 查看库的注释 describe database databasename; hive的注释(comment)中文乱码的解决方法 创建表的时候,comment说明字段包含中文,表成功创建成功之后,desc的时候中文说明显示乱码.如下图所示: 我们知道hive的元数据是有mysql管理的,所...

每天进步一点点儿 3579

hive修改表名、列名、各种注释、增删列、属性、分区名、分区字段类型

hive 表总共分为四类,分别内部表、外部表、分区表、桶表 未被external修饰的是内部表(managed table),被external修饰的为外部表(external table); 区别: 内部表数据由Hive自身管理,外部表数据由HDFS管理; 内部表数据存储的位置是hive.metastore.warehouse.dir(默认:/user/hive/warehouse),外...

五行缺火 2万+

hive-修改hive表字段的注释

修改hive表字段的注释 修改之前 hive> desc dw.fct_user_ctag_today; OK user_id int 用户id user_tag int 精准化新老客标签 rpt...

ChengYanan的博客 1510

七、深入 Hive DDL:管理表、分区与洞察元数据

在日常使用 Hive 的过程中,我们不仅要会建表,更要学会灵活地维护和管理已有的数据结构。从添加字段到修改分区,从查看元数据到删除表或清空数据,掌握这些 DDL 操作和常用的 SHOW 命令,就像掌握了一套管理数据仓库的“万能钥匙”。这次将带你一步步熟悉这些命令的用法和实际应用场景,配合清晰的语法示例与练习题,帮助你更轻松地驾驭 Hive 数据管理的日常工作。

专注于 Agent 工程、AI 产品、Harness Engineering、LLM 算法等方向,OpenMathModel、Nivik 等开源项目作者 7万+
上一篇: 数据离散化SQL
下一篇: Miniconda入门:在CentOS上的安装、基本操作、目录结构、卸载
小基基o_O
博客等级 码龄9年 4414粉丝 467原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小基基o_O

您的鼓励是我创作的巨大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值