MAPREDUCE服务 MRS-Upsert数据写入:使用示例

时间:2024-07-02 16:40:11

使用示例

  • 建表样例:
    CREATE TABLE default.upsert_tab ON CLUSTER default_cluster
    (    
    `id`     Int32,    
    `pdate`  Date,    
    `name`   String 
    )ENGINE = ReplicatedMergeTree('/clickhouse/tables/default/{shard}/upsert_tab', '{replica}')
    PARTITION BY toYYYYMM(pdate)
    PRIMARY KEY id 
    ORDER BY id 
    SETTINGS index_granularity = 8192;
  • Upsert数据去重写入:
    Upsert into upsert_tab(id, pdate, name) values (1, rand() % 365, 'abc'), (2, rand() % 365, 'bcd'), (1, rand() % 365, 'def');
  • 查询test_upsert表数据
    select * from upsert_tab;
    ┌─id─┬───pdate─┬─name─┐
    │  2   │   1970-06-09│  bcd   │
    │  1   │   1970-11-30│  def   │
    └───┴── ────┴────┘
  • Upsert支持事务

    与其他SQL语法类型一样,upsert语法也支持显式和隐式事务,使用事务前需要进行相应的事务功能开启配置。

support.huaweicloud.com/cmpntguide-lts-mrs/mrs_01_249165.html