Откройте или вставьте CSV-файл и нажмите Скачать Parquet. По умолчанию каждый столбец — допускающий null STRING в UTF-8, поэтому идентификаторы вроде 000917 сохраняют нули, а пустые ячейки становятся null. Выберите Распознавать числа и true/false, чтобы записать столбцы INT64, DOUBLE и BOOLEAN там, где им соответствуют все значения. Файл записывается в вашем браузере библиотекой Parquet на JavaScript; ничего не загружается на сервер.
Как преобразовать CSV в Parquet
- Откройте файл
.csv,.tsvили.txt, перетащите его на инструмент или вставьте строки. Проверьте таблицу на вкладке Исходные данные; при необходимости задайте разделитель, строку заголовков или кодировку в разделе Параметры импорта. - Выберите Типы значений, Сжатие, решите, нужно ли Записывать пустой текст как null, и задайте Строк в группе строк (row group).
- Нажмите Скачать Parquet и читайте файл
.parquetв DuckDB, pandas, Polars, Spark или любой другой программе для Parquet.
Чтобы преобразовать много файлов с одинаковыми настройками, выберите Пакетная конвертация нескольких файлов. Каждый файл становится отдельным файлом Parquet, и все они скачиваются вместе одним ZIP-архивом. В пакетном режиме каждый файл должен быть не больше 25 МБ.
Схема и типы столбцов
Имена столбцов берутся из строки заголовков ровно в том виде, как записаны. Пустой заголовок становится Column 3, повторяющийся — name (2), так что у каждого столбца Parquet уникальное имя. Все столбцы необязательные (допускают null).
| Все значения как текст | Вариант по умолчанию. Каждый столбец — BYTE_ARRAY с аннотацией строки UTF-8 и хранит каждое значение байт в байт, включая ведущие нули, 1,5, N/A и любые форматы дат. |
|---|---|
| Целые числа (при распознавании) | INT64, если каждое непустое значение — целое число без ведущих нулей в диапазоне от −9 007 199 254 740 991 до 9 007 199 254 740 991. Целые числа больше этого оставляют столбец текстовым. |
| Дробные числа (при распознавании) | DOUBLE, если каждое значение — простая десятичная запись не больше чем с 15 значащими цифрами, которая переживёт конвертацию. Столбец, где смешаны 12 и 2.5, становится DOUBLE. |
| true / false (при распознавании) | BOOLEAN, если каждое значение — true или false в любом регистре. |
| Даты и метки времени | В обоих режимах остаются STRING, например 2026-03-01T08:00:00Z. Приведите тип в своём движке запросов, например CAST(reading_at AS TIMESTAMP) в DuckDB. |
В типизированных столбцах пустая ячейка всегда null. В строковых столбцах Записывать пустой текст как null (по умолчанию включено) определяет, станет ли пустая ячейка null или пустой строкой "".
Сжатие и группы строк
| Snappy (быстро, обычный выбор) | Кодек по умолчанию. Его поддерживают все распространённые программы для чтения Parquet. |
|---|---|
| Gzip (компактнее) | Обычно файл получается меньше, чем со Snappy. В некоторых легковесных программах чтения поддержки gzip нет. |
| Без сжатия | Данные не сжимаются — для отладки или для инструментов без распаковщика. |
| Строк в группе строк (row group) | По умолчанию 100 000, от 1000 до 1 000 000. Рабочая область браузера вмещает до 100 000 строк, поэтому по умолчанию записывается одна группа строк; задайте меньшее значение, чтобы получить несколько групп, которые программы чтения могут пропускать или читать параллельно. |
В метаданных файла также записываются программа записи (hyparquet) и ключ created_by_app.
Частые проблемы при конвертации CSV в Parquet
- Числовой столбец получил тип STRING. Либо выбран вариант Все значения как текст, либо одно из значений не является простым числом — например,
1,234,12 kg,007, 16-значное дробное число или сумма с десятичной запятой. Найдите его в профиле столбцов или в просмотре CSV. - В другой программе идентификаторы потеряли ведущие нули. Этот конвертер никогда не делает числовым столбец с ведущими нулями. Если идентификаторы изменились, скорее всего, CSV перед конвертацией открыли и сохранили в электронной таблице; проверьте исходный файл в просмотре CSV.
- Всё в одном столбце. Разделитель определён неверно; выберите его в разделе Параметры импорта.
- Файл слишком большой для этого инструмента. Конвертация в Parquet работает с файлами до 25 МБ, 100 000 строк, 250 столбцов и 2 млн ячеек. Разделите CSV и конвертируйте части или, если нужен просто файл поменьше, сожмите CSV в gzip.
Ограничения и конфиденциальность
CSV должен открываться в рабочей области браузера: до 25 МБ, 100 000 строк, 250 столбцов и 2 млн ячеек. Файл Parquet строится в памяти за один проход.
Запись выполняет hyparquet-writer — библиотека на чистом JavaScript, которая загружается только при конвертации; ни WebAssembly, ни серверного шага нет. Она работает в фоновом обработчике в этой вкладке, поэтому страница не зависает, а кнопка Отмена останавливает работу. CSV никогда не отправляется на сервер. Если нужен файл базы данных, к которому можно делать запросы, воспользуйтесь CSV в SQLite.
Пример: показания датчиков, прочитанные обратно через PyArrow
Показания датчиков с идентификаторами, начинающимися с нуля, метками времени ISO, пустыми ячейками и запятой в кавычках, преобразованные с Распознавать числа и true/false и сжатием Snappy по умолчанию, а затем прочитанные обратно через PyArrow. temp_c стал DOUBLE, ok — BOOLEAN, а sensor_id и reading_at остались строками. С вариантом по умолчанию Все значения как текст все пять столбцов имеют тип string, а в ok остаётся TRUE, как записано.
sensor_id,reading_at,temp_c,ok,site 000917,2026-03-01T08:00:00Z,21.5,true,Lab 2 000918,2026-03-01T08:05:00Z,,false, 000919,2026-03-01T08:10:00Z,-3,TRUE,"Roof, north"
schema:
sensor_id: string
reading_at: string
temp_c: double
ok: bool
site: string
rows: 3, row groups: 1, compression: SNAPPY
{'sensor_id': '000917', 'reading_at': '2026-03-01T08:00:00Z', 'temp_c': 21.5, 'ok': True, 'site': 'Lab 2'}
{'sensor_id': '000918', 'reading_at': '2026-03-01T08:05:00Z', 'temp_c': None, 'ok': False, 'site': None}
{'sensor_id': '000919', 'reading_at': '2026-03-01T08:10:00Z', 'temp_c': -3.0, 'ok': True, 'site': 'Roof, north'}Вопросы и ответы
Загружается ли мой CSV на сервер для конвертации?
Нет. Файл Parquet записывает библиотека на JavaScript в фоновом обработчике во вкладке вашего браузера, а скачиваемый файл создаётся локально.
Почему даты не записываются как DATE или TIMESTAMP Parquet?
Даты в CSV бывают в самых разных форматах и часовых поясах, и молчаливая догадка может сдвинуть значения. Поэтому они записываются строками ровно как в файле; приводите их к типу в DuckDB, Spark или pandas, где формат и часовой пояс выбираете вы.
Какое сжатие выбрать?
Snappy работает практически со всеми программами для чтения Parquet. Gzip выбирайте, когда размер файла важнее, а ваша программа его поддерживает, а вариант без сжатия — только для отладки.