MAPREDUCE服务 MRS-ClickHouse表创建:ClickHouse表数据操作

时间:2024-06-29 16:25:05

ClickHouse表数据操作

  1. 客户端登录ClickHouse节点。例如:

    clickhouse client --host node-master3QsRI --multiline --port 9440 --secure;

    node-master3QsRI 参数为查看ClickHouse服务cluster等环境参数信息2对应的host_name参数的值

  2. 参考创建本地复制表和分布式表创建表后,可以插入数据到本地表。

    例如插入数据到本地表:test

    insert into test values(toDateTime(now()), rand());

  3. 查询本地表信息。

    例如查询2中的表test数据信息:

    select * from test;

    SELECT *
    FROM test
    
    ┌───────────EventDate─┬─────────id─┐
    │ 2020-11-05 21:10:42             │ 1596238076           │
    └──────────────── ┴───────────┘
    
    1 rows in set. Elapsed: 0.002 sec. 
     

  4. 查询Distributed分布式表。

    例如3中因为分布式表test_all基于test创建,所以test_all表也能查询到和test相同的数据。

    select * from test_all;

    SELECT *
    FROM test_all
    
    ┌───────────EventDate─┬─────────id─┐
    │ 2020-11-05 21:10:42             │ 1596238076           │
    └──────────────── ┴───────────┘
    
    1 rows in set. Elapsed: 0.004 sec. 

  5. 切换登录节点为相同shard_num的shard节点,并且查询当前表信息,能查询到相同的表数据。

    例如,退出原有登录节点:exit;

    切换到节点node-group-1tXED0003:

    clickhouse client --host node-group-1tXED0003 --multiline --port 9440 --secure;

    通过2可以看到node-group-1tXED0003和node-master3QsRI的shard_num值相同。

    show tables;

    SHOW TABLES
    
    ┌─name─────┐
    │ test           │
    │ test_all       │
    └────────┘
     

  6. 查询本地表数据。例如在节点node-group-1tXED0003查询test表数据。

    select * from test;
    SELECT *
    FROM test
    
    ┌───────────EventDate─┬─────────id─┐
    │ 2020-11-05 21:10:42             │ 1596238076           │
    └──────────────── ┴───────────┘
    
    1 rows in set. Elapsed: 0.005 sec. 
    

  7. 切换到不同shard_num的shard节点,并且查询之前创建的表数据信息。

    例如退出之前的登录节点node-group-1tXED0003:

    exit;

    切换到node-group-1tXED0001节点。通过2可以看到node-group-1tXED0001和node-master3QsRI的shard_num值不相同。

    clickhouse client --host node-group-1tXED0001 --multiline --port 9440 --secure;

    查询test本地表数据,因为test是本地表所以在不同分片节点上查询不到数据。

    select * from test;

    SELECT *
    FROM test
    
    Ok.

    查询test_all分布式表数据,能正常查询到数据信息。

    select * from test_all;

    SELECT *
    FROM test
    
    ┌───────────EventDate─┬─────────id─┐
    │ 2020-11-05 21:12:19             │ 3686805070           │
    └──────────────── ┴───────────┘
    
    1 rows in set. Elapsed: 0.002 sec. 
     

support.huaweicloud.com/cmpntguide-mrs/mrs_01_2398.html