开发者社区> 问答> 正文

MaxCompute合并分区的语法是什么?

MaxCompute合并分区的语法是什么?

展开
收起
游客qzzytmszf3zhq 2021-12-08 17:53:00 605 0
1 条回答
写回答
取消 提交回答
  • ALTER TABLE <tableName> MERGE [IF EXISTS] PARTITION(<predicate>) [, PARTITION(<predicate2>) ...] OVERWRITE PARTITION(<fullPartitionSpec>) [PURGE];
    
    -- 示例:
    +------------+------------+------------+------------+
    | value      | ds         | hh         | mm         |
    +------------+------------+------------+------------+
    | 1          | 20181101   | 00         | 00         |
    | 1          | 20181101   | 00         | 10         |
    | 1          | 20181101   | 10         | 00         |
    | 1          | 20181101   | 10         | 10         |
    +------------+------------+------------+------------+
    -- 合并所有满足hh='00' 的分区到hh='00',mm='00'中。
    ALTER TABLE intpstringstringstring MERGE PARTITION(hh='00') OVERWRITE PARTITION(ds='20181101', hh='00', mm='00');
    -- 合并后:
    ds=20181101/hh=00/mm=00
    ds=20181101/hh=10/mm=00
    ds=20181101/hh=10/mm=10
    
    -- MERGE PARTITIONS允许指定多个谓词条件,示例如下,指定到具体分区下,合并剩余分区。
    ALTER TABLE intpstringstringstring MERGE IF EXISTS 
    PARTITION(ds='20181101', hh='00', mm='00'), partition(ds='20181101', hh='10', mm='00'),  PARTITION(ds='20181101', hh='10', mm='10') 
    OVERWRITE PARTITION(ds='20181101', hh='00', mm='00') PURGE;
    
    
    2021-12-08 17:53:13
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Data+AI时代大数据平台应该如何建设 立即下载
大数据AI一体化的解读 立即下载
极氪大数据 Serverless 应用实践 立即下载