You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jira@arrow.apache.org by "Joris Van den Bossche (Jira)" <ji...@apache.org> on 2021/12/02 14:44:00 UTC

[jira] [Updated] (ARROW-14959) [Python] Reading Hive-style partitioned parquet files from GCS

     [ https://issues.apache.org/jira/browse/ARROW-14959?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Joris Van den Bossche updated ARROW-14959:
------------------------------------------
    Summary: [Python] Reading Hive-style partitioned parquet files from GCS  (was: Reading Hive-style partitioned parquet files from GCS)

> [Python] Reading Hive-style partitioned parquet files from GCS
> --------------------------------------------------------------
>
>                 Key: ARROW-14959
>                 URL: https://issues.apache.org/jira/browse/ARROW-14959
>             Project: Apache Arrow
>          Issue Type: Bug
>          Components: Python
>    Affects Versions: 6.0.1
>            Reporter: Garrett Weaver
>            Priority: Minor
>
> Trying to read a spark-generated hive-style partitioned parquet dataset with *gcsfs* and {*}pyarrow{*}, but getting a *FileNotFoundError* if I try to read from the base directory or even if try to read directly from one of the partitions. Not sure if I am doing something wrong or it is not supported.
> Note that I have successfully read this hive-style partitioned parquet dataset using other methods to rule out any other issues, including:
>  * Successful read with pyspark by using spark.read.parquet
>  * Successful read of a specific partition by passing list of paths to `ParquetDataset`
>  * Also, tested reading another spark-generated parquet dataset with no Hive-style partitions from GCS and that worked as well.
> Below is what I am trying:
>  
> {code:python}
> import gcsfs
> import pyarrow as pa
>  
> gcs = gcsfs.GCSFileSystem()
>  
> partitions = pa.dataset.partitioning(
>     pa.schema([("partition_var", pa.string())]), dictionaries="infer", flavor="hive"
> )
>  
> partitioned_dataset = pa.dataset.dataset(
>     "path/to/partitioned/dataset/base/dir",
>     filesystem=gcs,
>     format="parquet",
>     partitioning=partitions,
> )
>  
> partition_of_dataset = pa.dataset.dataset(
>     "path/to/partitioned/dataset/base/dir/partition_var=some_value",
>     filesystem=gcs,
>     format="parquet",
> ){code}
>  
> The errors returned for both are below:
> {code:java}
> FileNotFoundError: path/to/partitioned/dataset/base/dir/
> FileNotFoundError: path/to/partitioned/dataset/base/dir/partition_var=some_value/{code}
>  



--
This message was sent by Atlassian Jira
(v8.20.1#820001)