Size: a a a

ClickHouse не тормозит

2020 July 14

МШ

Михаил Ш in ClickHouse не тормозит
Подскажите пожалуйста, как было бы правильно поступить. Есть две таблицы - одна достаточно широкая, описывает товары (items) и их состояния (sells). Каждая строка - данные за один день. Вторая таблица - рубрики rubrics, в которых этот товар встречался, каждая строка - уникальный кортеж дата-товар-рубрика (один товар может быть в 1000 рубриках).
Нужен отчет, который покажет сводку по всем категориям с определенным признаком.
строю отчет
select name, sum(sells)
from
 (select distinct name, item from rubrics where data>='2020-07-01' and somevalue=1) rubs
 join
 (select id, sells from items where id in (
   select item from rubrics where data>='2020-07-01' and somevalue=1
 ) and data>='2020-07-01') its
 on rubs.item=its.id)
group by name

все получается, но:
1. как то совсем не хорошо, что выборка из рубрик осуществляется дважды и ощущение, что должен быть способ все сделать сильно проще
2. медленно, точнее довольно быстро, но если выполнять запросы в режиме "сначала получаем ИД товаров для каждой из подходящих рубрик, а потом самостоятельно задаем отдельные запросы для каждой из рубрик" получается быстрее.
источник

DC

Denny Crane (I don't... in ClickHouse не тормозит
Aleh Sauko
нету exception в system.dictionary
а status какой ?
источник

AS

Aleh Sauko in ClickHouse не тормозит
LOADED
источник

DC

Denny Crane (I don't... in ClickHouse не тормозит
Aleh Sauko
LOADED
тогда в логе искать
источник

AS

Aleh Sauko in ClickHouse не тормозит
я поставил lifetime ещё для проверки сейчас 60с и вроде ошибок в логе тоже не вижу
источник

DC

Denny Crane (I don't... in ClickHouse не тормозит
Aleh Sauko
я поставил lifetime ещё для проверки сейчас 60с и вроде ошибок в логе тоже не вижу
в режиме trace там дофига чего про словарь
источник

AS

Aleh Sauko in ClickHouse не тормозит
а как в trace переключить на время, подскажите пожалуйста?
источник

VG

Vyacheslav Goryunov in ClickHouse не тормозит
Всем привет. Не удалось найти точный ответ в документации на сайте и в гугле.

Правильно ли я понимаю, что Materialized View это всего лишь табличка, которая триггерит вставку в основную, и переносит данные  согласно селекту из CREATE TABLE?

Могу ли я удалить несколько партиций в MV, и перевставить их в неё через INSERT ... SELECT ...? Будут ли во время этой вставки данные продолжать поступать в MV из таблички-источника?
источник

DC

Denny Crane (I don't... in ClickHouse не тормозит
Aleh Sauko
а как в trace переключить на время, подскажите пожалуйста?
никак, выпилили
источник

DC

Denny Crane (I don't... in ClickHouse не тормозит
Vyacheslav Goryunov
Всем привет. Не удалось найти точный ответ в документации на сайте и в гугле.

Правильно ли я понимаю, что Materialized View это всего лишь табличка, которая триггерит вставку в основную, и переносит данные  согласно селекту из CREATE TABLE?

Могу ли я удалить несколько партиций в MV, и перевставить их в неё через INSERT ... SELECT ...? Будут ли во время этой вставки данные продолжать поступать в MV из таблички-источника?
правильно

можете

продолжат
источник

VG

Vyacheslav Goryunov in ClickHouse не тормозит
Denny Crane (I don't work at Yandex (never did))
правильно

можете

продолжат
Спасибо большое!
источник

A

Andrey in ClickHouse не тормозит
Коллеги, помогите с таким эксепшном.

На реплике:
2020.07.14 17:58:17.151895 [ 14 ] {} <Error> table: DB::StorageReplicatedMergeTree::queueTask()::<lambda(DB::StorageReplicatedMergeTree::LogEntryPtr&)>: Poco::Exception. Code: 1000, e.code() = 0, e.displayText() = Timeout: connect timed out: 10.22.1.24:90090. 0xbc31e1b Poco::Exception::Exception(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, int)  in /usr/bin/clickhouse


Беспокоит 10.22.1.24:90090.
IP верный, но порт такой как получился? О_о
источник

МШ

Михаил Ш in ClickHouse не тормозит
Михаил Ш
Подскажите пожалуйста, как было бы правильно поступить. Есть две таблицы - одна достаточно широкая, описывает товары (items) и их состояния (sells). Каждая строка - данные за один день. Вторая таблица - рубрики rubrics, в которых этот товар встречался, каждая строка - уникальный кортеж дата-товар-рубрика (один товар может быть в 1000 рубриках).
Нужен отчет, который покажет сводку по всем категориям с определенным признаком.
строю отчет
select name, sum(sells)
from
 (select distinct name, item from rubrics where data>='2020-07-01' and somevalue=1) rubs
 join
 (select id, sells from items where id in (
   select item from rubrics where data>='2020-07-01' and somevalue=1
 ) and data>='2020-07-01') its
 on rubs.item=its.id)
group by name

все получается, но:
1. как то совсем не хорошо, что выборка из рубрик осуществляется дважды и ощущение, что должен быть способ все сделать сильно проще
2. медленно, точнее довольно быстро, но если выполнять запросы в режиме "сначала получаем ИД товаров для каждой из подходящих рубрик, а потом самостоятельно задаем отдельные запросы для каждой из рубрик" получается быстрее.
может быть есть какая то возможность повторно использовать результат одно запроса в другом или еще как то сагрегировать данные, не используя джойн или же используя его более оптимально?
источник

AS

Andrey Senko in ClickHouse не тормозит
а консольный клиент как соединяется?
я раскомментил значения
   <listen_host>::1</listen_host>
   <listen_host>127.0.0.1</listen_host>
и добавил ниже
   <listen_host>10.11.12.13</listen_host>
рестартанул сервис, и консольный клиент перестал соединяться...
убрал 10.11.12.13 - не помогло.
закомментил как было - соединяется.
источник

DC

Denny Crane (I don't... in ClickHouse не тормозит
Andrey Senko
а консольный клиент как соединяется?
я раскомментил значения
   <listen_host>::1</listen_host>
   <listen_host>127.0.0.1</listen_host>
и добавил ниже
   <listen_host>10.11.12.13</listen_host>
рестартанул сервис, и консольный клиент перестал соединяться...
убрал 10.11.12.13 - не помогло.
закомментил как было - соединяется.
читать лог
смотреть netstat -nlpt|grep click

вообще если хочется чтобы слушалось вообще все адреса, а не конкрентые то <listen_host>::</listen_host
источник

VB

Vladimir Bunchuk in ClickHouse не тормозит
ребят, подскажите плз как достать таймстемп из DateTime64 с точностью до миллисекунд
источник

VB

Vladimir Bunchuk in ClickHouse не тормозит
и можно ли )
источник

DT

Dmitry Titov in ClickHouse не тормозит
Vladimir Bunchuk
ребят, подскажите плз как достать таймстемп из DateTime64 с точностью до миллисекунд
toUInt64() и возможно придется добавить intDiv в зависимости от хранимой точности
источник

DC

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

AS

Andrey Senko in ClickHouse не тормозит
Denny Crane (I don't work at Yandex (never did))
читать лог
смотреть netstat -nlpt|grep click

вообще если хочется чтобы слушалось вообще все адреса, а не конкрентые то <listen_host>::</listen_host
clickhouse-server.err.log?
источник