1、查看集群的数据分布规则
可用gccli客户端工具查看:
show nodes;
ip | 为节点IP地址 |
name | 为gnode的节点名 |
primary part | 为主数据所在的分片名 |
duplicate part | 为备份数据所在的分片名 |
status | 为节点状态 |
datastate | 为数据分片状态 |
也可用gcadmin命令查看:
gcadmin showdistribution
Distribution ID | 为当前所使用的数据分布策略ID号 |
State | 为当前ID的状态【new | old】 |
Total segment num | 为总分片数 |
Primary Segment Node IP | 为该分片的主数据所在的节点IP地址 |
Segment ID | 为数据的分片号 |
Duplicate Segment node IP | 为该分片的备份数据所在的节点IP地址 |
2.查看指定表数据分布情况
select * from information_schema.CLUSTER_TABLE_SEGMENTS a where table_schema='tpch' and table_name='lineitem';
TABLE_VC | 为表所在的虚拟集群名 |
TABLE_SCHEMA | 为所查看表的所在数据库名 |
TABLE_NAME | 为所查看表的表名 |
SUFFIX | 为分片名称 |
HOST | 为节点IP |
TABLE_DATA_SIZE | 为该分片中纯数据占用的空间大小,单位是byte |
TABLE_STORAGE_SIZE | 为该分片中纯数据+元数据占用的空间大小,单位是byte |
DATA_PERCENT | 为该分片中纯数据在所有分片中占用量的百分比 |
因GBase默认带有压缩,故入库后TABLE_DATA_SIZE 和TABLE_STORAGE_SIZE显示的总数据量 < 原数据在文本格式下的文件大小。
表总空间 = 分片大小的总和 * 副本数量,对于复制表就是 * 节点数量。
(这里查到的是主分片数据情况,不包括备份数据)
3.查看某库总数据量和表的总数据量
select * from information_schema.cluster_tables a where table_schema='tpch' and table_name='lineitem';
查看某表的总数据量
TABLE_SCHEMA | 为所查看表的所在数据库名 |
TABLE_NAME | 为所查看表的表名 |
CREATE_TIME | 表的创建时间 |
TABLE_DATA_SIZE | 纯数据占用的空间大小,单位是byte |
TABLE_STORAGE_SIZE | 纯数据+元数据占用的空间大小,单位是byte |
TABLE_TYPE | 表的分布类型 |
select * from information_schema.cluster_tables a where table_schema='tpch';
查看某库下所有表的总数据量
(这里查到的是主分片数据+备分片数据的总容量,一份再除以2就行)