Я новичок в науке о данных. Работаю на Поларах, чтобы читать файлы паркета. Общий размер всех этих файлов паркета составляет 240 ГБ. У меня есть машина EC2 с 64 ГБ и 8 виртуальными процессорами.
Я предполагал, что, поскольку Parquet представляет собой столбчатый формат файлов, каждый раз, когда я получаю столбцы из файлов Parquet, это не так. нужно загрузить весь файл в память и загружает только нужные столбцы. (Как нуб, я не уверен, как это работает)
Но сегодня, когда я попытался загрузить 3 столбца общим размером 600 МБ (Общий размер столбца), использование памяти прошло через крыша. Он занял все 64 ГБ ОЗУ.
Мне не удалось найти никакой документации о жизненном цикле загрузки файлов паркета в поляры и о том, как он читает столбец.Может кто-нибудь объяснить мне, как это работает, или указать мне на хорошую документацию
Вот код
import polars as pl
import pyarrow.parquet as pq
# Directory containing the Parquet files
directory = '/home/ubuntu/parquet_files/'
# Load data using Polars
df = pl.scan_parquet(directory)
grouped_df = df.select([
pl.col("L_SHIPDATE").alias("L_SHIPDATE"),
pl.col("L_LINESTATUS").alias("L_LINESTATUS"),
pl.col("L_RETURNFLAG").alias("L_RETURNFLAG")
]).collect(streaming=True)
Подробнее здесь: https://stackoverflow.com/questions/791 ... ive-certai
Загружает ли поляры весь паркет в память, если мы хотим получить определенный столбец? ⇐ Python
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Загружает ли поляры весь паркет в память, если мы хотим получить определенный столбец?
Anonymous » » в форуме Python - 0 Ответы
- 9 Просмотры
-
Последнее сообщение Anonymous
-