美文网首页
Hive常用操作汇总

Hive常用操作汇总

作者: MrEthanLee | 来源:发表于2019-10-29 16:51 被阅读0次

    Hive常用操作汇总

    表操作

    ALTER TABLE name RENAME TO new_name;
    --例:将orders表修改为flt_orders
    ALTER TBALE olap_engdb.orders RENAME TO olap_engdb.flt_orders;
    

    数据存储位置发生改变,分区名未改变

    列操作

    修改列

    ALTER TABLE name CHANGE col_old_name col_new_name column_type COMMENT 'comment' FIRST|AFTER column_name;
    --例:将orders表中的citycode列修改为dcitycode
    ALTER TABLE olap_engdb.orders CHANGE citycode dcitycode STRING COMMENT '出发城市三字码' FIRST;
    

    First将列放在第一列,AFTER指定排在某列后面;

    列位置更换后数据位置并未发生变化,若要让数据跟着字段一起移动,需更新表数据。

    新增列

    ALTER TABLE name ADD COLUMES (col_name data_type COMMENT 'comment',......);
    --例:在orders表中新增acitycode列
    ALTER TABLE olap_engdb.orders ADD COLUMNS (acitycode STRING COMMENT '到达城市三字码');
    

    新增列位于当前列的末尾,分区列之前

    替换列/删除列

    ALTER TABLE name REPLACE COLUMNS (col_name data_type COMMENT '',...);
    --例:删除orders表中其他列,仅保留orderdate字段
    ALTER TABLE olap_engdb.orders REPLACE COLUMNS (orderdate string);
    

    REPLACE COLUMNS先删除现存列,然后再增加新列;

    注:替换列只能在表使用自带SerDE时使用( DynamicSerDe,MetadataTypedColumnsetSerDe... )

    分区操作

    新增分区

    ALTER TABLE name ADD IF NOT EXISTS PARTITION (PARTITION_SPEC);
    --例:在orders表中新增时间分区
    ALTER TABLE olap_engdb.orders ADD PARTITION (d = '2019-10-28');
    

    只有在存在分区列的表上执行增加分区的操作,才会成功

    重命名分区

    ALTER TABLE name PARTITION (PARTITION_SPEC) RENAME TO PARTITION (PARTITION_SPEC);
    --例:orders表中2019-10-28的分区修改为2019-10-27的分区
    ALTER TABLE olap_engdb.orders PARTITION (d = '2019-10-28') RENAME TO PARTITION (d = '2019-10-27');
    

    删除分区

    ALTER TABLE name DROP IF EXISTS PARTITION (PARTITION_SPEC);
    --例:删除orders表中2019-10-27的分区
    ALTER TABLE olap_engdb.orders DROP IF EXISTS PARTITION (d = '2019-10-27');
    

    交换分区

    ALTER TABLE name1 EXCHANGE PARTITION (PARTITION_SPEC) WITH TABLE name2;
    --例:将orders表中2019-10-26分区的数据移到临时表
    ALTER TABLE olap_engdb.orders EXCHANGE (d = '2019-10-26') WITH tmp_engdb.orders
    

    相关文章

      网友评论

          本文标题:Hive常用操作汇总

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