Size: a a a

ClickHouse не тормозит

2020 June 19

AM

Alexey Milovidov in ClickHouse не тормозит
Pavel Kovalenko
Ссылка на презентацию с S3 - выдает 404.
GitHub её загрузит через десяток минут.
источник

PK

Pavel Kovalenko in ClickHouse не тормозит
Alexey Milovidov
GitHub её загрузит через десяток минут.
Окей)
источник

🏡K

🏡 ILshat Khamitov in ClickHouse не тормозит
Denny Crane (I don't work at Yandex (never did))
Да. Они все не подходят, они для этого. Нету таких которые вам подходят. Возможно вам нужны словари.
через сет0 попробую, если что может ченить еще поищу, мне нужно было вот такой запрос чтобюы работал но клик так не умеет, вот и придумываю спосбы обхода
select t2.*,t1.*
from table1 t1
left join table2 t2 on t2.field1>t1.field1
источник

DC

Denny Crane (I don't... in ClickHouse не тормозит
🏡 ILshat Khamitov
через сет0 попробую, если что может ченить еще поищу, мне нужно было вот такой запрос чтобюы работал но клик так не умеет, вот и придумываю спосбы обхода
select t2.*,t1.*
from table1 t1
left join table2 t2 on t2.field1>t1.field1
Похоже на asof join
источник

🏡K

🏡 ILshat Khamitov in ClickHouse не тормозит
по описанию похоже, ток на 18 версии чет походу нет такого
источник

V

Vladimir in ClickHouse не тормозит
Привет! Все рекомендуют делать вставку в CH большими батчами (1М) и с разной периодичностью(от 1 до 5 секунд рекомендовали). Я так понимаю чтобы CH успевал сортировать, кодировать, сжимать и вставлять батч.
Правильно ли я понимаю, что нужно сделдать insert, дождаться ответа, а только после слать новый? Или по 1 сек между началом инсерта?
Мне нужно вставить несколько ТБ данных. И есть вставлять по 1М записей в 5 секунд, то это будет очень долго. Как вставлять данные быстрее? Увеличить размер батча?
источник

D

Dj in ClickHouse не тормозит
Vladimir
Привет! Все рекомендуют делать вставку в CH большими батчами (1М) и с разной периодичностью(от 1 до 5 секунд рекомендовали). Я так понимаю чтобы CH успевал сортировать, кодировать, сжимать и вставлять батч.
Правильно ли я понимаю, что нужно сделдать insert, дождаться ответа, а только после слать новый? Или по 1 сек между началом инсерта?
Мне нужно вставить несколько ТБ данных. И есть вставлять по 1М записей в 5 секунд, то это будет очень долго. Как вставлять данные быстрее? Увеличить размер батча?
insert не вернется (синхронный), но можете слать в несколько потоков
можно сколько угодно вставлять если есть понимание, что каждый новый инсерт создаст отдельный кусок с Н-файлов (колонки, индексы, засечки), которые будут мерджится в фоне
большой инсерт лучше - потому что он уже сортирует все заранее во вставляемом батче
—-
как часто вам надо вставить эти несколько ТБ один раз? раз в минуту? раз в день? есть ли ограничение на скорость?
вставлять параллельно большими батчами - быстрее всего - оптимальный размер определять методом проб и ошибок
источник

D

Dj in ClickHouse не тормозит
*пятничный вопрос!*

(select from fact group by) -- uses two-stage grouping due to memory peakmem 2GB
join
(select from bigdimension) — ~67 mln + fat strings, peakmem 6GB

—-
запрос при join жрет как не в себя и падает по ООМ ( по достижении 27GB)
partial_merge_join_optimizations=1 не влияет
aggregation_memory_efficient_merge_threads не влияет

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

DS

Dimitriy Scherbenko in ClickHouse не тормозит
Всем привет! Подскажите, пожалуйста, как сделать так, чтобы при использовании функции groupArray в созданном массиве остались записи со значением Null?
источник

D

Dj in ClickHouse не тормозит
Dimitriy Scherbenko
Всем привет! Подскажите, пожалуйста, как сделать так, чтобы при использовании функции groupArray в созданном массиве остались записи со значением Null?
было буквально два дня назад.
заверните значение в тупл
(value)
источник

ДН

Денис Никульников... in ClickHouse не тормозит
Dj
*пятничный вопрос!*

(select from fact group by) -- uses two-stage grouping due to memory peakmem 2GB
join
(select from bigdimension) — ~67 mln + fat strings, peakmem 6GB

—-
запрос при join жрет как не в себя и падает по ООМ ( по достижении 27GB)
partial_merge_join_optimizations=1 не влияет
aggregation_memory_efficient_merge_threads не влияет

как сделаь чтобы правую таблицу не раскурочивало в памяти
куда смотреть, что подкрутить?
Попробуйте вложенный select вместо join. Мне помогало.
источник

D

Dj in ClickHouse не тормозит
Денис Никульников
Попробуйте вложенный select вместо join. Мне помогало.
мне нужно атрибуты вернуть из правой и результаты из левой аггрегированной таблицы
источник

DC

Denny Crane (I don't... in ClickHouse не тормозит
Dj
*пятничный вопрос!*

(select from fact group by) -- uses two-stage grouping due to memory peakmem 2GB
join
(select from bigdimension) — ~67 mln + fat strings, peakmem 6GB

—-
запрос при join жрет как не в себя и падает по ООМ ( по достижении 27GB)
partial_merge_join_optimizations=1 не влияет
aggregation_memory_efficient_merge_threads не влияет

как сделаь чтобы правую таблицу не раскурочивало в памяти
куда смотреть, что подкрутить?
Partial_merge парметр вроде отменили. Join_algorithm теперь
источник

D

Dj in ClickHouse не тормозит
Denny Crane (I don't work at Yandex (never did))
Partial_merge парметр вроде отменили. Join_algorithm теперь
о пропустил поправки )
источник

DC

Denny Crane (I don't... in ClickHouse не тормозит
Vladimir
Привет! Все рекомендуют делать вставку в CH большими батчами (1М) и с разной периодичностью(от 1 до 5 секунд рекомендовали). Я так понимаю чтобы CH успевал сортировать, кодировать, сжимать и вставлять батч.
Правильно ли я понимаю, что нужно сделдать insert, дождаться ответа, а только после слать новый? Или по 1 сек между началом инсерта?
Мне нужно вставить несколько ТБ данных. И есть вставлять по 1М записей в 5 секунд, то это будет очень долго. Как вставлять данные быстрее? Увеличить размер батча?
Можно в параллель, типа 8 ядер, 8 инсертов одновременно
источник

DS

Dimitriy Scherbenko in ClickHouse не тормозит
Dj
было буквально два дня назад.
заверните значение в тупл
(value)
Спасибо!
источник

D

Dj in ClickHouse не тормозит
ни у кого клиент не отваливался так? причем стабильно на конкретный запрос (умирает после того как выставил join algorithm в partial_merge о_О), после ошибки коннекта нет надо выходить из клиента и заходить обратно
20.3.11
Code: 32, e.displayText() = DB::Exception: Attempt to read after eof: while receiving packet from localhost:9000, Stack trace (when copying this message, always include the lines below):

0. Poco::Exception::Exception(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, int) @ 0x1051b3a0 in /usr/bin/clickhouse
1. DB::throwReadAfterEOF() @ 0x8f55caf in /usr/bin/clickhouse
2. DB::readVarUInt(unsigned long&, DB::ReadBuffer&) @ 0x90389a6 in /usr/bin/clickhouse
3. DB::Connection::receivePacket() @ 0xdb111d4 in /usr/bin/clickhouse
4. DB::Client::receiveAndProcessPacket() @ 0x9079c45 in /usr/bin/clickhouse
5. DB::Client::receiveResult() @ 0x907ad62 in /usr/bin/clickhouse
6. DB::Client::processSingleQuery(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::shared_ptr<DB::IAST>) @ 0x907b64a in /usr/bin/clickhouse
7. DB::Client::process(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) @ 0x907c326 in /usr/bin/clickhouse
8. DB::Client::mainImpl() @ 0x907dc23 in /usr/bin/clickhouse
9. DB::Client::main(std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > const&) @ 0x907fdaa in /usr/bin/clickhouse
10. Poco::Util::Application::run() @ 0x1043d857 in /usr/bin/clickhouse
11. mainEntryClickHouseClient(int, char**) @ 0x9054cf9 in /usr/bin/clickhouse
12. main @ 0x8ef8799 in /usr/bin/clickhouse
13. __libc_start_main @ 0x22555 in /usr/lib64/libc-2.17.so
14. _start @ 0x8ef802e in /usr/bin/clickhouse
источник

AT

Al T in ClickHouse не тормозит
Pavel Kovalenko
Ссылка на презентацию с S3 - выдает 404.
S3 если получится сделать быстро на чтение, даже в связке например с nvme в качестве кеша - к вам все кладуы придут
источник

Е

Евгений in ClickHouse не тормозит
подскажите пожалуйста, какую функцию использовать?

Задача выбрать все колонки в строке с минимальным timestamp для ID за дату
просто SELECT ID, min(timestamp) нельзя, т.к. есть другие колонки с разными значениями
источник

DT

Dmitry Titov in ClickHouse не тормозит
argMin
или ORDER BY id, ts ASC LIMIT 1 BY id
источник