все данные на initiator node или выполнит какую-то работу на шардах? Какую?
ref: https://github.com/ClickHouse/ClickHouse/blob/4b0be1e535e792648d85c6f42e07cf79e6e34156/src/AggregateFunctions/AggregateFunctionWindowFunnel.h
ну это не аггрегирующая функция... так что всякие промежуточные state для последующего merge не посчитать она работает с рекордсетом... разве что есть какая нибудь оптимизация когда мы можем понять что у нас данные для windowFunnel хранятся только на одной реплике... и расчет перенести на реплику... но я про такую оптимизацию не слышал
А как можно посмотреть какая часть запроса выполнилась на репликах, а какая на иницираторе? EXLAIN какой-то? 🙂
Соберет стейт, который будет содержать всю необходимую информацию
поидее для воронки state будет это все данные
Ну тогда значит это будут все данные)
А что тут является стейтом? AggregateFunctionWindowFunnelData? https://github.com/ClickHouse/ClickHouse/blob/4b0be1e535e792648d85c6f42e07cf79e6e34156/src/AggregateFunctions/AggregateFunctionWindowFunnel.h#L25?
ну поидее событие и время каждого события, то есть надо будет передавать каждое событие на инициатор
AggregateFunctionWindowFunnelData если я правильно читаю, содержит список кортежей (timestamp, event_idx) То есть для каждого кортежа (device_id, country, app_version) будет свой AggregateFunctionWindowFunnelData со списком событий
ну поидее да, на каждый ключ (device_id, country, app_version) будет массив событий
SET send_logs_level='trace'; SELECT ...
Обсуждают сегодня