hive查询元数据得到表及字段结构注释

本文介绍了一种通过Hive查询元数据的方法,具体展示了如何获取特定表'rpt_msg_data_daily'及其字段结构注释的详细信息。此方法利用了多个Hive内部表的联接操作,包括DBS、TBLS、SDS和COLUMNS_V2,从而能够有效地检索到表的数据库ID、名称、字段ID、字段名、类型和注释等关键信息。

--hive查询元数据得到表及字段结构注释

SELECT DBS.DB_ID,DBS.NAME,TBL_ID,TBL_NAME,COLUMNS_V2.CD_ID,COLUMNS_V2.COLUMN_NAME,COLUMNS_V2.TYPE_NAME,COLUMNS_V2.COMMENT,INTEGER_IDX
from TBLS 
LEFT join DBS on TBLS.DB_ID=DBS.DB_ID 
left join SDS on TBLS.SD_ID=SDS.SD_ID
LEFT join COLUMNS_V2 on SDS.CD_ID=COLUMNS_V2.CD_ID
where TBLS.TBL_NAME='rpt_msg_data_daily'
ORDER BY INTEGER_IDX

Hive中添加结构字段有以下几种常见方法: - **向普通新增单个或多个字段**:使用`add columns`语句可向普通新增字段。如新增一个字段`col_new`,数据类型为`string`,语句为`alter table test_hive add columns (col_new string)`;新增多个字段,如`col_new1`(`string`类型)和`col_new2`(`int`类型),语句为`alter table test_hive add columns (col_new1 string, col_new2 int)`;还能添加带注释字段,如添加`col_new_with_comment`(`string`类型)并添加注释,语句为`alter table test_hive add columns (col_new_with_comment string comment '测试新增字段')` [^3]。 - **向分区新增字段**:分区新增字段时,需使用`cascade`关键字。不过修改分区结构后,相关元数据会更改,而分区相关元数据不会更改。向已经存在分区添加数据,新增的字段一直为`null`,解决方法是删除旧分区再插入数据,例如`alter table tt drop partition(dt='20220101')`。新增字段的通用语句为`ALTER TABLE table_name ADD COLUMNS (col_name data_type [COMMENT col_comment], ...) [CASCADE|RESTRICT]` [^2][^5]。 - **在结构中添加字段并指定位置**:在结构中添加字段,并将字段指定到与业务库相对的位置,例如在`ods_test.ods_ppy_op_op_supplier_goods_quote_apply`中添加`storage_id`字段(`bigint`类型)并添加注释,再将其移到`supplier_id`字段之后,语句如下: ```sql alter table ods_test.ods_ppy_op_op_supplier_goods_quote_apply add columns (storage_id bigint comment '仓库id') cascade; alter table ods_test.ods_ppy_op_op_supplier_goods_quote_apply change storage_id storage_id bigint after supplier_id; ``` [^4]
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

周小科

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值