使用词典中的值过滤ClickHouse的结果

Ily*_*hov 6 olap clickhouse

我对ClickHouse有点不熟悉,仍然通过反复试验来研究它.对此有疑问.

谈论数据表示的星型方案,具有维度和事实.目前,我将所有内容保存在PostgreSQL中,但是带有聚合的OLAP查询开始显示错误的时间,因此我将把一些事实表移动到ClickHouse.CH的初始测试显示出令人难以置信的性能,但是,在现实生活中,查询应该包括来自PostgreSQL的维度表的连接.我知道我可以将它们作为词典连接起来.

问题:我发现使用字典我可以在良好的旧RDBMS中发出类似于LEFT JOIN的请求,即结果集中的值可以与字典中的相应值相结合.但它们是否可以通过对字典键的某些限制进行过滤(如在INNER JOIN中)?例如,在PostgreSQL中我有一个表users (id, name, ...),在ClickHouse中,我有一个表,其中visits (user_id, source, medium, session_time, timestamp, ...)包含有关他们访问该站点的指标.我是否可以向CH查询以获取name与某些条件匹配的用户的聚合度量(给定日期范围的每日访问次数)(LIKE "EVE%"例如)?

ozz*_*acs 1

字典基本上会首先替换值。据我了解,您的字典将基于您的用户表。

这是一个例子。希望我能理解你的问题。

select dictGetString('accountidmap', 'domain', tuple(toString(account_id))) AS domain, sum(session) as sessions from session_distributed where date = '2018-10-15' and like(domain, '%cats%') group by domain
Run Code Online (Sandbox Code Playgroud)

这是对我们数据库的真实查询,因此如果您想尝试/确认某些内容,请告诉我