在建表语句中加入分片操作,可以将数据以HASH分片的方式分配至每个DN节点。
操作如下:
1)建表。使用distribute by进行HASH分片操作。
CREATE TABLE disttab(c1 int,c2 int,c3 varchar(200)) DISTRIBUTE BY HASH(c1);
2)插入数据。使用generate_series()函数生成步进为1的数值序列。
INSERT INTO disttab SELECT generate_series(1,100), generate_series(101, 200),'魏';
3)查看分片:
查询插入数据量:
gbase=# SELECT count(*) FROM disttab;
返回结果:
count
-------
100
(1 row)
查询分片情况:
gbase=# SELECT xc_node_id,count(*) FROM disttab GROUP BY xc_node_id;
返回结果:
xc_node_id | count
------------+-------
-700122826 | 32
-560021589 | 36
352366662 | 32
(3 rows)
操作成功!