таблица, хотелось бы данные из неё перелить в clickhouse , но insert select падает на лимите по памяти, буду благодарен если подскажите способ подобного перелива?
Переливайте по партициями. или дробите еще меньше
Ага думал об этом варианте, но думал есть что-то удачней, спасибо
Падает у вас скорее всего где то в гринпламе (кх не использует много памяти для вставки) Если гринплам умеет в stream данных в пайп можно вообще попробоватЬ gp_program —query "SELECT * FROM table" | clickhouse-client "INSERT INTO xxxx FORMAT TSV"
Не именно clickhouse падает,
используете postgresql функцию?
Я использовал внешнюю таблицу постгреса и вставлял данные в таблицу clickhouse
Я бы попробовал через пайп если честно, у меня есть некоторые сомнения в производительности postgresql функций.
Ок, спасибо, попробуем увеличить ресурсы
https://kb.altinity.com/altinity-kb-setup-and-maintenance/altinity-kb-data-migration/remote-table-function/#q-can-i-tune-insert-speed-to-make-it-faster Можете конечно попробовать покрутить эти настройки, но у вас памяти совсем не много и так. │ max_insert_block_size │ 1048545 │ 0 │ The maximum block size for insertion, if we control the creation of blocks for insertion.
У нас 1 гб лимит на один запрос, так мы под тесты выделяли 10 ГБ, так что увеличим лимит на запрос
Может вам не нужен кликхаус если вы 10гб под тесты выделили ...
Сделайте больше оперативной памяти и установить на GROUP BY ограничение, чтобы запросы не падали по памяти max_bytes_before_external_group_by
Спасибо за конструктивное замечание, а сколько вы бы рекомендовали выделить памяти на боевой clickhouse? Я просто новичок в этом деле
Зависит от количество данных которые вы планируете использовать
Ну хотя бы минимальное количество. Так будут хранится что-то вроде агрегатов в ch
CH не для агрегатов, я не знаю
А какие тогда варианты использования больше подходят для ch?
И чем плох clickhouse для хранения агрегатов, я честно пока не вижу таких минусов, партицирование удобное, кол-во записей уже ограничено, то есть по сути должен он выбирать из агрегатов достаточно неплохо.
А что есть для агрегатов ? Есть агрегатные функции, но если ты будешь считать uniqExact (точные вычисления) они будут по времени как на данных почти .... Кликхаус это про быстро положить и быстро достать ОЧЕНЬ МНОГО ДАННЫХ
Нет, там будут строчки по разным группировкам значения разных метрик за день, ну если грубо посчитать несколько тысяч строчек за день, уже сосчитанных другой системой и записанных в clickhouse, будет там несколько метрик hll - это самое трудное их возможно за некий период придется мержить
Если у вас grenplum почему не использовать для этого PG ?
Мы пока тестируем гипотезу что выборка из clickhouse агрегатов будет быстрее
Обсуждают сегодня