Файлы Parquet становятся все более популярными среди специалистов по обработке данных и аналитике. Они широко используются в хранилищах данных, ML-пайплайнах и облачных сервисах. Это связано с их эффективностью и возможностями, которые они предлагают. В этом руководстве мы рассмотрим, как читать, записывать и обрабатывать файлы Parquet с помощью Python.
Что такое формат файла Parquet?
Parquet — это открытый столбцовый формат хранения данных, изначально разработанный Cloudera и Twitter, а затем присоединенный к экосистеме Apache. В отличие от файлов CSV или JSON, которые хранят данные построчно, Parquet организует данные по столбцам. Это значит, что он обеспечивает гораздо более эффективное сжатие и выборку необходимых данных.
Преимущества Parquet включают:
- Эффективное сжатие: столбцы имеют однородный тип данных, что позволяет существенно уменьшить размер файла.
- Выборка столбцов: вы можете загружать только необходимые столбцы, игнорируя остальные.
- Сохранение схемы: типы данных фиксируются в файле, что предотвращает появление ошибок при чтении.
- Широкая поддержка экосистемы: Parquet работает с такими инструментами, как Spark, Pandas, DuckDB и другими.
Как работать с Parquet в Python
Для работы с файлами Parquet в Python вам понадобятся библиотеки pandas и pyarrow. Убедитесь, что у вас установлен Python версии 3.10 или выше, а также выполните команду:
pip install pyarrow pandas
Теперь давайте рассмотрим, как создать и записать файл Parquet. Для примера создадим небольшой набор данных о продуктах и запишем его в файл:
import pandas as pd
import pyarrow as pa
import pyarrow.parquet as pq
data = { 'product_id': [1001, 1002, 1003, 1004, 1005],
'product_name': ['Wireless Mouse', 'Mechanical Keyboard', 'USB-C Hub', 'Monitor Stand', 'Webcam HD'],
'category': ['Peripherals', 'Peripherals', 'Accessories', 'Accessories', 'Peripherals'],
'price': [29.99, 89.99, 49.99, 34.99, 74.99],
'stock': [150, 80, 200, 95, 60] }
df = pd.DataFrame(data)
table = pa.Table.from_pandas(df)
pq.write_table(table, 'inventory.parquet')
print("Parquet file created successfully!")
После выполнения этого кода будет создан файл inventory.parquet с нашими данными.
Чтение файлов Parquet в Python
Теперь рассмотрим, как считать данные из созданного файла:
table = pq.read_table('inventory.parquet')
df_read = table.to_pandas()
print(df_read)
Данный пример показывает, как легко интегрировать файлы Parquet в данные пайплайны и использовать их на практике.
И что мне с этого?
Использование Parquet для хранения и обработки данных поможет вам существенно повысить эффективность ваших аналитических процессов. Это особенно важно в условиях сильной конкурентной среды, где время и ресурсы имеют первостепенное значение.
Что дальше?
Сделайте шаг к оптимизации ваших данных, освоив Parquet и интегрировав его в свои проекты на Python.