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

Всем доброго вечера. Есть следующая задача. Имеется аналитическая БД содержащая

нужные данные, на postgresql. В ней ведутся операции по вычислению обновлений и прочий flow, который сейчас за скобками. Важно что в базе формируется витрина, пригодная для использования в клике. Надо эти данные как-то перегружать. Причем делать это регулярно и аккуратно. Объем данных может быть разным, от 1 гб, до 100 гб за один проход.
На данный момент испробованы следующие методы:

- экспорт из postgresql данных в tsv с последующим cat file.tsv | clickhouse-client
- чем не нравится - данные иногда могут содержать переносы строк и пр. слабочитаемые символы, такие файлы не вставляются и требуют правок по месту, занимают много места (большие файлы так просто в pipe не передаются, приходиться делать split что приводит к увеличению объема места необходимого для экспорта (оригинальный файл + нарезка)

- импорт данных через ODBC средствами клика (clickhouse-odbc-bridge)
- чем не нравится, при большом количестве колонок в источнике - не читает, поскольку данные переносятся через bridge - жрет много памяти, иногда клиент отваливает до того как бридж ответит, данные при этом все равно вставляются, столкнулись с тем что клик обрезает 1024 символа в длинных текстовых полях.

- импорта данных через fdw со стороны postgresql (clickhouse_fdw) - опять столкнулись с тем что надо предобрабатывать данные из-за переносов строк и, потенциально, спецсимволов. плюс сложности настройки самой fdw.

Из оставшегося непопробованным:
- mysql интерфейс клика (взять ту же fdw для postgresql и грузить через него - потому что есть надежда что mysql fdw для постгри окажется более надежным)
- ENGINE URL и написать по сути свою реализацию clickhouse-odbc-bridge и переносить данные через него
- ???

1 ответов

8 просмотров

csv прекрасно работает, позволяет выгрузить из PG любые данные с помощью " " и загрузить в КХ

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

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

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
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
Карта сайта