Druid 是一個分布式的、高性能的實時數據處理系統,它支持數據的實時攝入、存儲以及查詢。在 Druid 中,數據被存儲在列式存儲中,即列存儲,這使得 Druid 在查詢時能夠快速地對數據進行掃描。
Druid 提供了多種查詢數據的方式,其中一種是通過 JSON API 查詢。下面是一個簡單的 Druid JSON 查詢示例:
{ "queryType": "groupBy", "dataSource": "myDataSource", "granularity": "day", "dimensions": ["country"], "aggregations": [ {"type": "count", "name": "count"}, {"type": "longSum", "name": "sum", "fieldName": "totalSales"} ], "intervals": ["2019-01-01T00:00:00.000Z/2019-02-01T00:00:00.000Z"] }
在這個示例中,我們使用了 groupBy 查詢類型,即按照指定的維度進行分組查詢。數據源為 myDataSource,時間粒度為天,指定了維度為 country,聚合函數為 count 和 longSum。我們指定了一個時間區間,即查詢 2019 年 1 月份的數據。
Druid JSON 查詢的優點是非常靈活,可以根據不同的查詢需求進行組合,從而滿足不同的業務需求。同時,Druid 還支持 SQL 查詢,這樣可以更加方便地與其他系統進行集成。