我对clickhouse有点不熟悉,仍在反复学习。我有个问题。
讨论数据表示的星型方案,包括维度和事实。目前,我将所有内容都保存在postgresql中,但是带有聚合的olap查询开始显示错误的时间,因此我将把一些事实表移到clickhouse中。ch的初始测试显示了令人难以置信的性能,然而,在现实生活中,查询应该包括来自postgresql的维度表的连接。我知道我可以把它们当作字典联系起来。
问题:我发现使用字典可以发出类似于旧rdbms中的左连接的请求,即resultset中的值可以与字典中相应的值连接。但是它们是否可以通过对字典键的一些限制进行过滤(如在内部连接中)?例如,在postgresql中,我有一个表 users (id, name, ...)
在clickhouse我有一张table visits (user_id, source, medium, session_time, timestamp, ...)
关于他们访问网站的指标。我可以向ch进行查询以获取用户的聚合度量(给定日期范围内的每日访问次数)吗 name
符合某些条件( LIKE "EVE%"
例如)?
2条答案
按热度按时间k10s72fa1#
字典基本上会先替换值。据我所知,你的词典将以你的用户表为基础。
下面是一个例子。希望我能理解你的问题。
这是对我们数据库的真实查询,因此如果您有什么需要尝试/确认的,请告诉我
i86rm4rw2#
听起来odbc表函数就是你要找的。clickhouse有一堆表函数,它们的工作方式类似于postgres外来表。该设置类似于字典,但您获得了传统的连接行为。目前还没有出现在官方文件中。你可以参考这个https://github.com/yandex/clickhouse/blob/master/dbms/tests/integration/test_odbc_interaction/test.py#l84 . 在不久的将来(今年),clickhouse将支持标准的join语句。