184 похожих чатов

Всем привет. скажите, есть ли вариант сделать join на большой

таблице, с очень малым количеством озу?
время выполнения не принципиально, хоть неделю
при
SET join_algorithm = 'partial_merge'
select * from c.main inner join c.d on c.main.m = c.d.a
выдаёт
Code: 241. DB::Exception: Received from . DB::Exception: Memory limit (total) exceeded: would use 2.79 GiB (attempt to allocate chunk of 4325664 bytes), maximum: 2.79 GiB: (avg_value_size_hint = 43, avg_chars_size = 42, limit = 16384): (while reading column address): (while reading from part /chdb/store/4f8
/4f88080f-c32b-4ced-8f88-080fc32beced/all_320499_332314_44/ from mark 576 with max_rows_to_read = 16384): While executing MergeTreeThread. (MEMORY_LIMIT_EXCEEDED)

13 ответов

38 просмотров

ну за неделю можно поднять постгрес и на нем спокойно сделать джойн)

сколько у вас всего памяти на сервере?

Yury- Автор вопроса
Clir
сколько у вас всего памяти на сервере?

ну вообще могу залить на сервер с 96 гб и там прогнать, но т.к. это надо делать примерно раз в несколько месяцев, а хранить на том сервере не вариант, то подумал вдруг можно это сделать на этих мощностях, но медленней

Yury- Автор вопроса
Clir
ну за неделю можно поднять постгрес и на нем споко...

так может тогда вообще с кликхауса на него перейти)

Yury
ну вообще могу залить на сервер с 96 гб и там прог...

так сколько памяти у вас на текущей конфигурации?

Yury
4-6 гб

а какие размеры таблиц?

set join_algorithm=partial_merge select * from system.settings where name like '%join%';

Yury- Автор вопроса
Clir
а какие размеры таблиц?

1169182464 строк на винте примерно 40гб занимает

set join_algorithm=partial_merge select * from system.settings where name like '%join%';

Yury- Автор вопроса
Yury- Автор вопроса
Boris
set join_algorithm=partial_merge select * from sys...

┌─name───────────────────────────────────────┬─value─────────┬─changed─┬─min──┬─max──┬─readonly─┬─type───────────┐ │ max_joined_block_size_rows │ 65505 │ 0 │ ᴺᵁᴸᴸ │ ᴺᵁᴸᴸ │ 0 │ UInt64 │ │ join_use_nulls │ 0 │ 0 │ ᴺᵁᴸᴸ │ ᴺᵁᴸᴸ │ 0 │ Bool │ │ join_default_strictness │ ALL │ 0 │ ᴺᵁᴸᴸ │ ᴺᵁᴸᴸ │ 0 │ JoinStrictness │ │ any_join_distinct_right_table_keys │ 0 │ 0 │ ᴺᵁᴸᴸ │ ᴺᵁᴸᴸ │ 0 │ Bool │ │ joined_subquery_requires_alias │ 1 │ 0 │ ᴺᵁᴸᴸ │ ᴺᵁᴸᴸ │ 0 │ Bool │ │ prefer_global_in_and_join │ 0 │ 0 │ ᴺᵁᴸᴸ │ ᴺᵁᴸᴸ │ 0 │ Bool │ │ max_rows_in_join │ 0 │ 0 │ ᴺᵁᴸᴸ │ ᴺᵁᴸᴸ │ 0 │ UInt64 │ │ max_bytes_in_join │ 0 │ 0 │ ᴺᵁᴸᴸ │ ᴺᵁᴸᴸ │ 0 │ UInt64 │ │ join_overflow_mode │ throw │ 0 │ ᴺᵁᴸᴸ │ ᴺᵁᴸᴸ │ 0 │ OverflowMode │ │ join_any_take_last_row │ 0 │ 0 │ ᴺᵁᴸᴸ │ ᴺᵁᴸᴸ │ 0 │ Bool │ │ join_algorithm │ partial_merge │ 1 │ ᴺᵁᴸᴸ │ ᴺᵁᴸᴸ │ 0 │ JoinAlgorithm │ │ partial_merge_join_optimizations │ 1 │ 0 │ ᴺᵁᴸᴸ │ ᴺᵁᴸᴸ │ 0 │ Bool │ │ default_max_bytes_in_join │ 1000000000 │ 0 │ ᴺᵁᴸᴸ │ ᴺᵁᴸᴸ │ 0 │ UInt64 │ │ partial_merge_join_left_table_buffer_bytes │ 32000000 │ 0 │ ᴺᵁᴸᴸ │ ᴺᵁᴸᴸ │ 0 │ UInt64 │ │ partial_merge_join_rows_in_right_blocks │ 65536 │ 0 │ ᴺᵁᴸᴸ │ ᴺᵁᴸᴸ │ 0 │ UInt64 │ │ join_on_disk_max_files_to_merge │ 64 │ 0 │ ᴺᵁᴸᴸ │ ᴺᵁᴸᴸ │ 0 │ UInt64 │ │ enable_unaligned_array_join │ 0 │ 0 │ ᴺᵁᴸᴸ │ ᴺᵁᴸᴸ │ 0 │ Bool │ │ multiple_joins_rewriter_version │ 0 │ 0 │ ᴺᵁᴸᴸ │ ᴺᵁᴸᴸ │ 0 │ UInt64 │ │ cross_to_inner_join_rewrite │ 1 │ 0 │ ᴺᵁᴸᴸ │ ᴺᵁᴸᴸ │ 0 │ Bool │ └────────────────────────────────────────────┴───────────────┴─────────┴──────┴──────┴──────────┴────────────────┘

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта