Перейти к основному содержанию

Преобразование файлов из Parquet в CSV или JSON

Вы можете использовать clickhouse-local для преобразования файлов между любыми входными и выходными форматами, которые поддерживает ClickHouse (а это более 70 различных форматов!). В этой статье мы преобразуем файл Parquet из S3 в CSV- и JSON‑файл. Начнём с самого начала. В ClickHouse есть набор табличных функций, которые читают данные из файлов, баз данных и других ресурсов и представляют их в виде таблицы. Для примера предположим, что у нас есть файл Parquet в S3. Мы будем использовать табличную функцию s3, чтобы прочитать его (ClickHouse определяет, что это файл Parquet, по имени файла). Но сначала давайте загрузим бинарный файл clickhouse:

Доступ к данным с помощью табличной функции

Давайте убедимся, что файл можно прочитать, выполнив DESCRIBE для результирующей таблицы, которую создаёт табличная функция s3:
Этот файл содержит цены на жильё объектов недвижимости, проданных в Соединённом Королевстве. Ответ выглядит так:
Вы можете выполнить любой запрос к данным. Например, давайте посмотрим, в каких городах самая высокая средняя цена на жилье:
Ответ будет выглядеть так:

Преобразование файла Parquet в CSV

Результат любого SQL-запроса можно записать в файл. Давайте извлечём все столбцы из нашего файла Parquet в S3 и запишем результат в новый CSV-файл. Поскольку имя выходного файла оканчивается на .csv, ClickHouse понимает, что нужно использовать выходной формат CSV:
Проверим, что всё сработало:

Преобразуйте файл Parquet в JSON

Чтобы преобразовать файл Parquet в JSON, просто измените расширение выходного файла:
Давайте проверим, что всё сработало:

Преобразование CSV в Parquet

Это работает в обе стороны: мы можем без труда прочитать новый CSV-файл и записать его в файл Parquet. Локальный файл house_prices.csv можно прочитать в ClickHouse с помощью табличной функции file, а ClickHouse запишет файл в формате Parquet на основе расширения имени файла .parquet (или можно было бы добавить предложение FORMAT Parquet):
Как уже упоминалось выше, вы можете использовать любой из форматов ввода и вывода ClickHouse вместе с clickhouse local, чтобы легко преобразовывать файлы в разные форматы.
Последнее изменение 12 июня 2026 г.