Как экспортировать данные PostgreSQL в Parquet, CSV или JSON
clickhouse-local:
- Используйте табличную функцию
postgresql, чтобы прочитать данные - Используйте предложение
INTO OUTFILE _filename_ FORMATи укажите нужный формат вывода
clickhouse-local, который входит в состав бинарного файла ClickHouse. Скачайте его следующим образом:
Экспорт PostgreSQL в Parquet
postgresql позволяет выполнять запросы SELECT (и INSERT) к данным, хранящимся на удалённом сервере PostgreSQL. Например, чтобы просмотреть всё содержимое таблицы в PostgreSQL:
INTO OUTFILE. Используйте FORMAT, чтобы указать формат создаваемого файла. Давайте выгрузим всё содержимое таблицы PostgreSQL в файл Parquet:
Поскольку имя выходного файла имеет расширение
.parquet, ClickHouse предполагает, что нам нужен формат Parquet, поэтому обратите внимание: мы опустили конструкцию FORMAT Parquet.Экспорт PostgreSQL в CSV
.csv в имени выходного файла и выводит данные в формате CSV. В остальном это та же самая команда, что и выше.
Экспорт из PostgreSQL в JSON
На этом можно не останавливаться —
clickhouse-local также позволяет забирать данные из PostgreSQL и отправлять их в любые форматы вывода.Если ClickHouse не может определить выходной формат по расширению имени файла или если вы хотите явно указать формат, добавьте предложение FOMRAT:Потоковая передача PostgreSQL в другой процесс
INTO OUTFILE можно передавать результаты табличной функции в другой процесс в виде потока. Вот простой пример, демонстрирующий синтаксис: мы подсчитываем количество строк с помощью команды Linux wc -l: