Apache Druid - 保留多值维度中元素的顺序

Apache Druid - preserving order of elements in a multi-value dimension

我正在使用 Apache Druid 为客户存储多值维度。

从 CSV 加载数据时,我注意到多值维度中元素的顺序发生了变化。例如。孟买|德里|金奈被摄取为 ["Chennai","Mumbai","Delhi"].

为了在使用 MV_OFFSET 函数的查询中应用过滤器,保留元素的顺序对我们来说很重要。一种解决方法是创建明确的顺序元素并将其连接到元素(如 ["3~Ch​​ennai","1~Mumbai","2~Delhi"])——但这会妨碍普通的 group by 聚合。

有没有什么方法可以在加载时保留多值维度中元素的顺序?

感谢 Navis Ryu 在 Druid slack 频道上的回复,以下维度规范将保持元素的顺序不变:

"dimensions": [
    "page",
    "language",
    { 
        "type": "string",
        "name": "userId", 
        "multiValueHandling": "ARRAY" 
    }
]

有关功能的更多详细信息 here