apache druid 目前版本迭代非常頻繁,功能也有很大的升級,基本保持着 2個月左右就出現一次版本升級。
關聯查詢一般是nosql數據庫難以實現的功能,但apache druid 最新版本中已經開始 支持 Joins。
支持Joins
-- Joins "sales" with "countries" (using "store" as the join key) to get sales by country.
SELECT
store_to_country.v AS country,
SUM(sales.revenue) AS country_revenue
FROM
sales
INNER JOIN lookup.store_to_country ON sales.store = store_to_country.k
GROUP BY
countries.v
語法
<o1> [ INNER | LEFT [OUTER] ] JOIN <o2> ON <condition>
{
"queryType": "scan",
"dataSource": {
"type": "union",
"dataSources": ["<tableDataSourceName1>", "<tableDataSourceName2>", "<tableDataSourceName3>"]
},
"columns": ["column1", "column2"],
"intervals": ["0000/3000"]
}
Sql 支持 thetaSketch
THETA_SKETCH_ESTIMATE(expr) |
Returns the distinct count estimate from a theta sketch. expr must return a theta sketch. |
THETA_SKETCH_ESTIMATE_WITH_ERROR_BOUNDS(expr, errorBoundsStdDev) |
Returns the distinct count estimate and error bounds from a theta sketch. expr must return a theta sketch. |
THETA_SKETCH_UNION([size], expr0, expr1, ...) |
Returns a union of theta sketches, where each input expression must return a theta sketch. The size can be optionally specified as the first parameter. |
THETA_SKETCH_INTERSECT([size], expr0, expr1, ...) |
Returns an intersection of theta sketches, where each input expression must return a theta sketch. The size can be optionally specified as the first parameter. |
THETA_SKETCH_NOT([size], expr0, expr1, ...) |
Returns a set difference of theta sketches, where each input expression must return a theta sketch. The size can be optionally specified as the first parameter. |
更多的參加官網