Apache Druid —— 使用Druid SQL 查询元数据查询(一)

本文介绍Apache Druid中如何使用SQL查询不同schemal下的数据源信息,包括datasource的表和列类型,以及如何通过sys schemal查询集群的segments、tasks和servers等内部信息。

Druid使用SQL查询时,默认有3个schemal(类似于mysql的库):druid/INFORMATION_SCHEMA/sys 。
用户的所有datasource均表示为表,存储在druid这个schemal(库)下,默认的schemal为druid,所以查询的数据时可以是from druid.datasourceName也可以直接from datasouceName,另外Druid还有两个系统级别的schemal:INFORMATION_SCHEMA Schema and
SYS Schema。INFORMATION_SCHEMA 主要用于管理用户的datasource的表和列类型等元数据信息,SYS
主要用于管理集群的servers/segments/tasks等信息。

Each Druid datasource appears as a table in the “druid” schema. This is also the default schema, so Druid datasources can be referenced as either druid.dataSourceName or simply dataSourceName.There are two such schemas available: Information Schema and Sys Schema. Information schema provides details about table and column types. The “sys” schema provides information about Druid internals like segments/tasks/servers.

一、 INFORMATION_SCHEMA

通过INFORMATION_SCHEMA 查询datasource(table)/columns等信息

1.1 查询所有集群所有的schemal (databases)
select * from INFORMATION_SCHEMA.SCHEMATA ;

在这里插入图片描述

1.2 查询集群中所有用户的datasource (表名)
#查询集群中所有的用户datasources
select * from INFORMATION_SCHEMA.TABLES where TABLE_SCHEMA='druid';

在这里插入图片描述

1.3 查询某表的列信息
#查询XXX这张表的列信息,XXX为datasources (tablename)的名称
select * from INFORMATION_SCHEMA.COLUMNS where TABLE_NAME='XXXX';

在这里插入图片描述

二、 sys schemal 查询集群信息

查询集群的segments/tasks/servers等信息

2.1 查询某个datasources(table)下的所有segments信息
#查询出的segments包含发布和未发布的
select * from sys.segments where datasource='XXX';

在这里插入图片描述

#查询XXX这个datasource(table)下有多少segment,segment总大小,平均大小,每个segment平均行数
SELECT
    datasource,
    SUM("size") AS total_size,
    CASE WHEN SUM("size") = 0 THEN 0 ELSE SUM("size") / (COUNT(*) FILTER(WHERE "size" > 0)) END AS avg_size,
    CASE WHEN SUM(num_rows) = 0 THEN 0 ELSE SUM("num_rows") / (COUNT(*) FILTER(WHERE num_rows > 0)) END AS avg_num_rows,
    COUNT(*) AS num_segments
FROM sys.segments where datasource='XXX'
GROUP BY 1
ORDER BY 2 DESC

在这里插入图片描述

2.2 查询集群的servers信息
#查询集群的所有server信息
SELECT * FROM sys.servers 

在这里插入图片描述

2.3 查询task(任务)信息
SELECT * FROM sys.tasks WHERE status='FAILED' 

在这里插入图片描述

参考文献:Apache Druid 官网

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值