You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@arrow.apache.org by "Bob Briody (JIRA)" <ji...@apache.org> on 2019/06/11 23:22:00 UTC

[jira] [Created] (ARROW-5562) pyarrow parquet writer does not handle negative zero correctly

Bob Briody created ARROW-5562:
---------------------------------

             Summary: pyarrow parquet writer does not handle negative zero correctly
                 Key: ARROW-5562
                 URL: https://issues.apache.org/jira/browse/ARROW-5562
             Project: Apache Arrow
          Issue Type: Bug
          Components: Python
    Affects Versions: 0.13.0
            Reporter: Bob Briody


 

I have the following csv file (note that col_a contains a negative zero value):
{code:java}
col_a,col_b
0.0,0.0
-0.0,0.0{code}
...and process it via:
{code:java}
from pyarrow import csv, parquet
in_csv = 'in.csv'
table = csv.read_csv(in_csv)
parquet.write_to_dataset(table, root_path='./'){code}
 

The output parquet file is then loaded into S3 and queried via AWS Athena (i.e. PrestoDB / Hive). 

Any query that touches {{col_a}} fails with the following error:
{code:java}
HIVE_CANNOT_OPEN_SPLIT: Error opening Hive split {{REDACTED}} (offset=0, length=593): low must be less than or equal to high{code}
 

As a sanity check, I transformed the csv file to parquet using an AWS Glue Spark Job and I was able to query the output parquet file successfully.

As such, it appears as though the pyarrow writer is producing an invalid parquet file when a column contains both 0.0 and -0.0, and only 0.0 and -0.0.

 



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)