Код: Выделить всё
import pyarrow as pa
import pyarrow.parquet as pq
table = pa.Table.from_pandas(my_df)
pq.write_to_dataset(table, root_path="data/bfl", partition_cols=['pnr_group'])
Код: Выделить всё
data/bfl/pnr_group=0/319a1fb5557a342c1b55356ce5123123-0.parquet
Код: Выделить всё
import pyarrow.dataset as ds
import pyarrow as pa
# This works - has data
import pyarrow.parquet as pq
file_path = 'data/bfl/pnr_group=0/319a1fb5557a342c1b55356ce5123123-0.parquet'
table = pq.read_table(file_path)
print(len(table)) # Shows rows
# This finds the correct files but returns empty data
dataset = ds.dataset(
'data/bfl',
format='parquet',
partitioning=ds.DirectoryPartitioning.discover(['pnr_group'])
)
filter_expr = ds.field('pnr_group') == '0'
filtered_dataset = dataset.filter(filter_expr)
df = filtered_dataset.to_table().to_pandas() # Returns empty dataframe
Как правильно читать и фильтровать файлы секционированного паркета с помощью API набора данных PyArrow?
Подробнее здесь: https://stackoverflow.com/questions/791 ... quet-files
Мобильная версия