Skip to content

[Python] pandas.read_parquet fails for wide parquet files and pyarrow 1.0.X #25867

Description

@asfimport

I recently tried to update my pyarrow from 0.17.1 to 1.0.0 and I'm encountering a serious bug where wide DataFrames fail during pandas.read_parquet.  Small parquet files (m=10000) read correctly, medium files (m=40000) fail with a "Bus Error: 10", and large files (m=100000) completely hang.  I've tried python 3.8.5, pandas 1.0.5, pyarrow 1.0.0, and OSX 10.14.   

The driver code and output is below:

import pandas as pd
import numpy as np
import sys

filename = "test.parquet"
n = 10
m = int(sys.argv[1])
print(m)
x = np.zeros((n, m))
x = pd.DataFrame(x, columns=[f"A_{i}" for i in range(m)])
x.to_parquet(filename)
y = pd.read_parquet(filename, engine='pyarrow')
time python test_pyarrow.py  10000
real 0m4.018s user 0m5.286s sys 0m0.514s
time python test_pyarrow.py  40000
40000
Bus error: 10

 

On a pyarrow 0.17.1 environment, the 40,000 case completes in 8 seconds.  

This was cross-posted on the pandas tracker as well: pandas-dev/pandas#35846

Reporter: Kyle Beauchamp
Assignee: Joris Van den Bossche / @jorisvandenbossche

PRs and other links:

Note: This issue was originally created as ARROW-9827. Please see the migration documentation for further details.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Type

No type

Projects

No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions