[Hive]表属性操作

2019-07-26  本文已影响0人  帅可儿妞

业务的调整,我不得不去修改表的一些信息

  1. Hive表重命名
    ALTER TABLE <table-old-name> RENAME TO <table-new-name>;
    
  2. 修改列名、类型、列的位置、注释
    ALTER TABLE <table-name> CHANGE
    [CLOUMN] <col-old-name> <col-new-name> <column-type> # 列名、列类型
    [CONMMENT <col-conmment>] # 注释
    [FIRST|AFTER column_name]; # 位置
    
  3. 增加、更新列
    ALTER TABLE <table-name> 
    ADD|REPLACE COLUMNS (<col-name> <data-type> [CONMMENT <col-comment>], ...);
    
  4. 增加表的属性
    ALTER TABLE <table-name> SET TBLPEOPERTIES <table-properties>;
    
    • 用户可以使用这个语句增加表属性,table_properties的结构为(<property-name>=<property-value>,<property-name>=<property-value>, ...),目前last_modified_time(最后修改时间),last_modified_user(做最后修改的用户)是由Hive自动管理的。用户可以向列中添加自己的属性,然后使用DISCRIBE EXTEBDED TABLE来获取这些信息。
  5. 增加SerDE属性
    ALTER TABLE table_name SET SERDE serde_class_name
    [WITH SERDEPROPERTIES serde_properties];
    

参考

创建 dual

create table dual(id int);
insert into dual select 1 from <any-hibe-table-has-content> limit 1;

hive 解析数组

select ss.col
from (
    select split(
        regexp_replace(
            regexp_extract('[{"bssid":"6C:59:40:21:05:C4","ssid":"MERCURY_05C4"},{"bssid":"AC:9C:E4:04:EE:52","appid":"10003","ssid":"and-Business"}]','^\\[(.+)\\]$',1),
            '\\}\\,\\{', 
            '\\}\\|\\|\\{'
        ),
        '\\|\\|'
    ) as str
    from dual
) pp
lateral view explode(pp.str) ss as col;
上一篇下一篇

猜你喜欢

热点阅读