Size: a a a

ClickHouse не тормозит

2020 June 03

DT

Dmitry Titov in ClickHouse не тормозит
нарастающую сумму можно сделать несколькими методами либо через neighbor, но значение в ней сбрасывается на каждом блоке данных.
либо через массивы
источник

K

Karlson in ClickHouse не тормозит
И если я правильно понимаю у меня запрос просто упадет от переизбытка по памяти ?
источник

DT

Dmitry Titov in ClickHouse не тормозит
на самом деле необязательно
22506 float + столько же UInt32 как каунтер это не так страшно
источник

DT

Dmitry Titov in ClickHouse не тормозит
тут самое тяжелое это будет это дело сгруппировать, те твой первый запрос кмк
источник

K

Karlson in ClickHouse не тормозит
А можно подсказать сам запрос? а то в выборке по массиву я не знаю как сделать (каюсь)
источник

DT

Dmitry Titov in ClickHouse не тормозит
SELECT price, cum_sum FROM (
SELECT
arrayCumSum(groupArray(x)) as cum_sum,
groupArray(priceSelect) as price
FROM
(SELECT price as priceSelect,
      count() as x
FROM x
GROUP BY price
ORDER BY price ASC
))  ARRAY JOIN cum_sum, price
источник

DT

Dmitry Titov in ClickHouse не тормозит
типа такого
источник

K

Karlson in ClickHouse не тормозит
Dmitry Titov
SELECT price, cum_sum FROM (
SELECT
arrayCumSum(groupArray(x)) as cum_sum,
groupArray(priceSelect) as price
FROM
(SELECT price as priceSelect,
      count() as x
FROM x
GROUP BY price
ORDER BY price ASC
))  ARRAY JOIN cum_sum, price
да вы волшебник , куда скидывать на пиво ?)
источник

DT

Dmitry Titov in ClickHouse не тормозит
Karlson
да вы волшебник , куда скидывать на пиво ?)
достаточно просто тоже помогать людям в этом чатике. :)
источник

K

Karlson in ClickHouse не тормозит
Dmitry Titov
достаточно просто тоже помогать людям в этом чатике. :)
Чем смогу ) помогу
источник

AT

Al T in ClickHouse не тормозит
Karlson
да вы волшебник , куда скидывать на пиво ?)
вареньем заносите ))
источник

DC

Denny Crane (I don't... in ClickHouse не тормозит
Evgeny Kruglov (work)
Я вот как раз думаю как переписать запрос, да. И что-то ничего не могу придумать
arrayJoin развернуть массив, тогда в лямбду будет передаваться значение а не массив, потом сверху сум / групбай
источник

AK

Andrew Kochen in ClickHouse не тормозит
запускаю мутацию , мутация виснет и не выполняется, в error-логе ошибка
Code: 393, e.displayText() = DB::Exception: There is no query, Stack trace:

Полный трейс: https://pastebin.com/C0t1Ub8f

Что не так?..
Версия 19.17.8.54
источник

AS

Alexander Sapin in ClickHouse не тормозит
Andrew Kochen
запускаю мутацию , мутация виснет и не выполняется, в error-логе ошибка
Code: 393, e.displayText() = DB::Exception: There is no query, Stack trace:

Полный трейс: https://pastebin.com/C0t1Ub8f

Что не так?..
Версия 19.17.8.54
а как сама мутация то выглядит?
источник

AK

Andrew Kochen in ClickHouse не тормозит
ALTER TABLE active_orders
   DELETE WHERE order_id IN
   (
       SELECT DISTINCT order_id
       FROM closed_orders
       INNER JOIN
       (
           SELECT order_id
           FROM active_orders
           FINAL
       ) AS ao ON closed_orders.order_id = ao.order_id
       ORDER BY order_id ASC
   )


Ok.

0 rows in set. Elapsed: 0.376 sec.
источник

DC

Denny Crane (I don't... in ClickHouse не тормозит
Andrew Kochen
запускаю мутацию , мутация виснет и не выполняется, в error-логе ошибка
Code: 393, e.displayText() = DB::Exception: There is no query, Stack trace:

Полный трейс: https://pastebin.com/C0t1Ub8f

Что не так?..
Версия 19.17.8.54
нельзя делать select в where у мутации
источник

DC

Denny Crane (I don't... in ClickHouse не тормозит
Andrew Kochen
ALTER TABLE active_orders
   DELETE WHERE order_id IN
   (
       SELECT DISTINCT order_id
       FROM closed_orders
       INNER JOIN
       (
           SELECT order_id
           FROM active_orders
           FINAL
       ) AS ao ON closed_orders.order_id = ao.order_id
       ORDER BY order_id ASC
   )


Ok.

0 rows in set. Elapsed: 0.376 sec.
надо сложить результат вот этого запроса

SELECT DISTINCT order_id
       FROM closed_orders
       INNER JOIN
       (
           SELECT order_id
           FROM active_orders
           FINAL
       ) AS ao ON closed_orders.order_id = ao.order_id
       ORDER BY order_id ASC


в таблицу, на таблицу сделать словарь и выполнить мутации where dictHas
источник

AK

Andrew Kochen in ClickHouse не тормозит
Denny Crane (I don't work at Yandex (never did))
надо сложить результат вот этого запроса

SELECT DISTINCT order_id
       FROM closed_orders
       INNER JOIN
       (
           SELECT order_id
           FROM active_orders
           FINAL
       ) AS ao ON closed_orders.order_id = ao.order_id
       ORDER BY order_id ASC


в таблицу, на таблицу сделать словарь и выполнить мутации where dictHas
Спасибо!

Ну и костыль....
источник

DC

Denny Crane (I don't... in ClickHouse не тормозит
Andrew Kochen
Спасибо!

Ну и костыль....
ахаха
источник

DC

Denny Crane (I don't... in ClickHouse не тормозит
но все еще смешнее, уже и этот костыль выпилили для репликейтид таблиц
источник