Последнее редактирование ...
Еще немного покопаемся, чтобы выяснить, что проблема заключалась в отсутствии атрибутов outputType в виртуальных столбцах. Странно, потому что агрегатор может автоматически определять время и правильно рассчитывать длинную сумму, даже если группа по результатам была неправильной.
"virtualColumns": [
{
"type": "expression",
"name": "tenant",
"expression": "replace(array_offset(tags, array_offset_of(tagNames, 'tenant')), 'tenant:', '')",
"outputType": "STRING"
},
{
"type": "expression",
"name": "rc",
"expression": "replace(array_offset(tags, array_offset_of(tagNames, 'row_count')), 'row_count:', '')"
"outputType": "LONG"
}
],
См. Выше (ниже, вероятно, неэффективный способ работы с проблема).
После некоторых проб и ошибок у меня есть обходной путь с использованием размеров извлечения. Хотя я не уверен, но подозреваю, что это временная проблема в Druid 0.18.1. Надеюсь, группировка по венчурным капиталистам будет работать, как было объявлено в будущих сборках.
{
"queryType": "groupBy",
"dataSource": "trace_info",
"granularity": "none",
"virtualColumns": [
{
"type": "expression",
"name": "tenant",
"expression": "replace(array_offset(tags, array_offset_of(tagNames, 'tenant')), 'tenant:', '')"
},
{
"type": "expression",
"name": "rc",
"expression": "replace(array_offset(tags, array_offset_of(tagNames, 'row_count')), 'row_count:', '')"
}
],
"dimensions": [
{
"type": "extraction",
"dimension": "tenant",
"outputName": "t",
"extractionFn": {
"type" : "substring", "index" : 1
}
}
],
"aggregations": [
{
"type": "longSum",
"name": "trc",
"fieldName": "rc"
}
],
...
...
...
"intervals": [
"..."
]
}