使用clickhouse,我可以对多值维度进行分析。这是很容易做到的 arrayJoin
功能。例如:
SELECT arrayJoin(places) AS place, count() FROM hits GROUP BY place
现在让我们进入字典。我把田地储存起来 personId
作为列并使用字典进行Map personId
与某人(名字)的联系。如果想按名字计算点击率,我只需要:
SELECT dictGetString('persons', 'name', personId) AS name, count()
FROM hits GROUP BY name
我的特定用例是有几个(名字)的人。我想合并 arrayJoin
还有字典。我想象的代码是这样的:
SELECT arrayJoin(dictGetStringArray('persons', 'names', personId)) AS name, count()
FROM hits GROUP BY name
``` `dictGetStringArray` 似乎不存在。不管怎样,我不知道如何Map到字典中的数组。
clickhouse中是否有此功能?是否有一种解决方法或方法来做这件事?
(注意:我的用例不是真正的“persons”,我不关心它是否适用于字符串或任何其他类型:-)
1条答案
按热度按时间yqlxgs2m1#
看看array join子句。我想你会找到你的解决方案-比如:
其思想是将dictgetstring应用于数组的每个成员。以上基于以下文件。抱歉,无法复制,因为我不知道如何在clickhouse中使用词典!
请参阅此处的文档-祝您好运:
https://clickhouse.yandex/docs/en/query_language/select/#array-join子句