文章目录
一、介绍
TBLPROPERTIES用途:向表中添加自定义或预定义的元数据属性,并设置它们的赋值。在hive建表时,可设置TBLPROPERTIES参数修改表的元数据,也能通过ALTER语句对其修改。
在一些情况下,您可能需要修改这些属性,例如更改存储格式、压缩策略或其他元数据。
二、查看TBLPROPERTIES属性
表结构如下:
            
            
              sql
              
              
            
          
          CREATE TABLE IF NOT EXISTS example_table (
    id INT,
    name STRING
) 
TBLPROPERTIES ('description' = '示例表', 'format' = 'ORC'); 
-- 创建一个示例表,包含 id 和 name 字段,并设置初始 TBLPROPERTIES 的描述和格式。
        1、方式一
            
            
              sql
              
              
            
          
          DESCRIBE FORMATTED example_table; 
-- 查看表的详细信息,包括 TBLPROPERTIES。
        运行此命令后,您会看到类似以下的输出,其中包含现有的 TBLPROPERTIES:
            
            
              sql
              
              
            
          
          # Partition Information
# col_name              data_type          comment
id                     int
name                   string
# Detailed Table Information
Database:              default
Owner:                 user
CreateTime:            Thu Sep 30 14:12:00 UTC 2023
LastAccessTime:        NA
Retention:             36000
Location:              hdfs://namenode:9000/user/hive/warehouse/example_table
# Table Properties
# PKEY: key           123
# format:      ORC
# description: 示例表
        2、方式二
通过show create table 也可以看到对应的tblproperties信息
            
            
              sql
              
              
            
          
          show create table example_table
        2、方式三
通过show create table 也可以看到对应的tblproperties信息
            
            
              sql
              
              
            
          
          SHOW TBLPROPERTIES example_table;
SHOW TBLPROPERTIES example_table('comment');
注意:若表名上带schema则需要用``将schema与表名一起引起来,否则可能会报错
SHOW TBLPROPERTIES `test.example_table`;
        三、修改TBLPROPERTIES属性
语法如下:
            
            
              sql
              
              
            
          
          ALTER TABLE table_name SET TBLPROPERTIES ('property_name' = 'property_value' [ , ... ])
示例:
alter table example_table SET TBLPROPERTIES('description' = '测试表') 
        SET TBLPROPERTIES:指定要添加为property_name的元数据属性,并为每个属性指定值。如果property_name已经存在,则将其值设置为新的property_value;如果property_name不存在,则新增。