Загружает ли поляры весь паркет в память, если мы хотим получить определенный столбец?Python

Программы на Python
Ответить
Anonymous
 Загружает ли поляры весь паркет в память, если мы хотим получить определенный столбец?

Сообщение Anonymous »

Я новичок в науке о данных. Работаю на Поларах, чтобы читать файлы паркета. Общий размер всех этих файлов паркета составляет 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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»