Druid 是一款高性能、分布式、列存儲(chǔ)型實(shí)時(shí)數(shù)據(jù)處理系統(tǒng)。在 Druid 中,可以使用 JSON 文件來描述一個(gè)查詢?nèi)蝿?wù)。
一個(gè) Druid JSON 任務(wù)由多部分組成,例如:數(shù)據(jù)源、過濾器、聚合等等。
下面是一個(gè)使用 JSON 文件來描述 Druid 查詢?nèi)蝿?wù)的示例:
{ "queryType": "groupBy", "dataSource": "my_datasource", "granularity": "day", "dimensions": ["dim1", "dim2"], "aggregations": [ { "type": "longSum", "name": "metric1", "fieldName": "metric1" }, { "type": "doubleSum", "name": "metric2", "fieldName": "metric2" } ], "intervals": ["2022-01-01T00:00:00.000/2022-02-01T00:00:00.000"], "filter": { "type": "and", "fields": [ { "type": "selector", "dimension": "dim1", "value": "value1" }, { "type": "or", "fields": [ { "type": "selector", "dimension": "dim2", "value": "value2" }, { "type": "selector", "dimension": "dim2", "value": "value3" } ] } ] }, "having": { "type": "greaterThan", "aggregation": "metric1", "value": 100 }, "limitSpec": { "type": "default", "limit": 100, "columns": ["metric1"] } }
在這個(gè)例子中,我們描述了一個(gè)聚合查詢?nèi)蝿?wù)。我們使用了groupBy
查詢類型,在數(shù)據(jù)源my_datasource
中按照day
粒度對數(shù)據(jù)進(jìn)行聚合。我們使用了兩個(gè)維度dim1
和dim2
,以及兩個(gè)聚合函數(shù)longSum
和doubleSum
。
我們還使用了一個(gè)過濾器來限制查詢結(jié)果,以僅包含維度dim1=value1
以及維度dim2=value2
或dim2=value3
的行。我們還添加了一個(gè)having
子句,以僅返回聚合結(jié)果中metric1
值大于 100 的行。最后,我們使用limitSpec
子句來限制返回結(jié)果的數(shù)量。
這只是一個(gè)簡單的例子,Druid JSON 查詢?nèi)蝿?wù)可以包含更多部分,并具有更復(fù)雜的查詢語句。
上一篇dsl json下載
下一篇vue人臉識別輪廓