美文网首页
[Hive]表属性操作

[Hive]表属性操作

作者: 帅可儿妞 | 来源:发表于2019-07-26 10:36 被阅读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;
    

    相关文章

      网友评论

          本文标题:[Hive]表属性操作

          本文链接:https://www.haomeiwen.com/subject/qeqrrctx.html