Я пытаюсь преобразовать следующий запрос sql druid в запрос json druid, поскольку один из столбцов, которые у меня есть, является многозначным измерением, для которого druid не поддерживает запрос стиля sql.
Мой запрос sql:
SELECT date_dt, source, type_labels, COUNT(DISTINCT unique_p_hll)
FROM "test"
WHERE
type_labels = 'z' AND
(a_id IN ('a', 'b', 'c') OR b_id IN ('m', 'n', 'p'))
GROUP BY date_dt, source, type_labels;
unique_p_hll
- это столбец hll с уникальными посетителями.
Я придумал следующий json-запрос druid:
{
"queryType": "groupBy",
"dataSource": "test",
"granularity": "day",
"dimensions": ["source", "type_labels"],
"limitSpec": {},
"filter": {
"type": "and",
"fields": [
{ "type": "selector", "dimension": "type_labels", "value": "z" },
{ "type": "or", "fields": [
{ "type": "in", "dimension": "a_id", "values": ["a", "b", "c"] },
{ "type": "in", "dimension": "b_id", "values": ["m", "n", "p"] }
]}
]
},
"aggregations": [
{ "type": "longSum", "name": "unique_p_hll", "fieldName": "p_id" }
],
"intervals": [ "2018-08-01/2018-08-02" ]
}
Но запрос json, похоже, возвращает пустой набор результатов.
Я правильно вижу результат в Pivot UI. Хотя значения столбца массива type_labels
отображаются как {"array_element": "z"}
, а не просто как "z"
.
Возвращает ли запрос пустую строку или форматированный JSON с нулевыми записями?
В первом случае я могу предложить несколько способов устранения этой проблемы:
curl -X 'POST' -H 'Content-Type:application/json' -d @query-file.json http://<BROKER-IP>:<BROKER-PORT>/druid/v2?pretty