UltKit
Зображення11
PDF13
Документи й дані7
Відео6
Аудіо4
Інші інструменти22

Конвертер CSV у Parquet

CSV легко створити, але запити до нього виконуються повільно. Завантажте CSV і отримайте файл Apache Parquet, де кожне поле має свій тип стовпця, а дані стиснені й готові для інструмента аналітики, у який ви їх завантажите.

Конвертер даних

або перетягніть Файли CSV, TSV, TXT … сюди ·

До 95 МБ на файл· До 20 файлів· Видаляються через 30 хв

Результат

Файли обробляються на наших серверах і видаляються через 30 хв.

Як користуватися цим інструментом

  1. 1

    Виберіть файли CSV

    Додайте один експорт або до 20 файлів з однаковою структурою, кожен до 95 MB. Роздільник у режимі автовизначення розпізнає коми, крапки з комою, табуляції та вертикальні риски.

  2. 2

    Залиште налаштування заголовка й дат

    Перший рядок — заголовок перетворює рядок заголовка на назви стовпців. Дати встановлено на ISO, тож стовпці з датами записуються в єдиному форматі.

  3. 3

    Конвертуйте в Parquet

    Натисніть Конвертувати в Parquet і завантажте файл .parquet у pandas, DuckDB, Spark або своє сховище даних.

Навіщо командам даних конвертувати CSV у Parquet

Parquet створили у 2013 році інженери Twitter і Cloudera на основі стовпчикової структури, описаної Google у статті про Dremel 2010 року, а в 2015 році він став проєктом верхнього рівня Apache. Ідея проста: замість зберігати таблицю рядок за рядком, як CSV, формат зберігає разом усі значення одного стовпця. Запит, якому потрібні три стовпці з сорока, читає лише їх, а схожі значення поруч стискаються набагато краще.

Тому аналітики конвертують експорти перед завантаженням, інженери даних просять постачальників надсилати Parquet замість CSV, а запити в сервісах на кшталт Amazon Athena і BigQuery, які можуть брати плату за обсяг просканованих даних, стають дешевшими. До того ж CSV не знає, чи 0042 — це число, чи код; Parquet фіксує тип кожного стовпця, тож наступному інструменту не доводиться вгадувати.

Parquet, CSV чи XLSX для великих таблиць

ParquetCSVXLSX
Типи стовпців зберігаються у файліyesnoДля кожної клітинки
Читає лише стовпці, потрібні запитуyesnono
Стисненийyesnoyes
Читається в текстовому редакторіnoyesno
Відкривається в Excel подвійним клацаннямnoyesyes
Рядків у файліБез фіксованого обмеженняБез фіксованого обмеження1 048 576 на аркуш

Що змінюється, коли CSV стає Parquet

Що ви отримаєте

  • Швидші запити, що читають лише потрібні стовпці
  • Менші файли для зберігання та передавання
  • Схема, яку наступний інструмент читає, а не вгадує
  • Дати, записані один раз у форматі ISO

Що варто врахувати

  • Не редагується в електронній таблиці чи текстовому редакторі
  • Одруківка в числовому стовпці може перетворити весь стовпець на текстовий
  • Залиште CSV, якщо його все ще потрібно відкривати людям

Факти про формати CSV і Parquet

CSV

Значення, розділені комами

CSV — це простий текстовий формат для таблиць, де кожен рядок є рядком таблиці, а стовпці розділені комами. Його використовують із ранніх часів обчислювальної техніки, він описаний у RFC 4180, хоча багато варіантів використовують крапку з комою або табуляцію та різні кодування тексту. Майже кожна програма для таблиць, баз даних і аналітики може імпортувати та експортувати його, тому це типовий формат для обміну даними між системами. CSV зберігає лише значення, без формул, форматування, кількох аркушів і типів даних.

Стиснення
–
Прозорість
–
Анімація
–
Рік появи
–
Конвертер CSV

PARQUET

Apache Parquet

Parquet — колонковий формат зберігання з відкритим кодом, створений Twitter і Cloudera в 2013 році та підтримуваний Apache Software Foundation. Він зберігає дані за стовпцями з потужним стисненням і типізованими схемами, тож аналітичні інструменти читають лише потрібні стовпці. Це стандарт у сховищах даних та інструментах Spark, pandas, DuckDB, BigQuery і Snowflake. Файли Parquet двійкові й не відкриваються в текстовому редакторі чи звичайній програмі для таблиць.

Стиснення
Без втрат
Прозорість
–
Анімація
–
Рік появи
2013 · Apache Software Foundation (from Twitter and Cloudera)
Конвертер PARQUET

CSV стає Parquet, коли файл перестає бути тим, що люди відкривають, і стає тим, що скануються запитами: щоденний експорт, що потрапляє в озеро даних, набір даних для аналітиків або логи, які фільтрують за кількома стовпцями.

Краще очистити CSV до конвертації, а не після: виправте назви заголовків, видаліть підсумкові рядки внизу й переконайтеся, що кожен стовпець містить один тип значень. Якщо джерело — резервна копія бази даних, а не CSV, почніть із SQL у CSV. Усі інші формати, від JSON до SQL, є на сторінці конвертер даних.

Запитання про конвертацію CSV у Parquet

Наскільки файл Parquet буде меншим за мій CSV?

Це залежить від даних. Стовпці з багатьма повторюваними значеннями, як-от коди країн, статуси чи дати, стискаються дуже добре, а стовпці з унікальними ID або довільним текстом зменшуються менше. Файл Parquet зазвичай становить лише частку розміру CSV, але фіксованого коефіцієнта, який варто обіцяти, не існує.

Які інструменти читають сконвертований файл .parquet?

pandas з read_parquet, Polars, DuckDB зі звичайним SELECT за назвою файлу, Apache Spark та хмарні сховища, як-от BigQuery, Snowflake, Amazon Athena і Redshift Spectrum. Більшість із них також може опрацьовувати папку з файлами Parquet з однаковими стовпцями як одну таблицю.

Як визначаються типи стовпців?

За значеннями в кожному стовпці: цілі числа, десяткові дроби, дати та значення «істина/хибність» отримують відповідні типи, а стовпець зі змішаним вмістом залишається текстовим. Після конвертації перевірте коди з нулями на початку, наприклад поштові індекси на кшталт 02134, і залишайте їх текстом, якщо нуль потрібно зберегти.

Чи можна конвертувати кілька файлів CSV з однаковою структурою?

Так, до 20 за один раз, і кожен стане окремим файлом .parquet. Покладіть їх в одну папку, і DuckDB або Spark зможуть прочитати їх разом за шаблоном, наприклад sales_*.parquet.

Як переглянути вміст файлу Parquet без коду?

Excel і Google Sheets не відкривають .parquet подвійним клацанням. Поверніть дані до рядків за допомогою Parquet у CSV або скористайтеся командним рядком DuckDB, якщо вам зручно написати один SQL-запит.