You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jira@arrow.apache.org by "Darren Weber (Jira)" <ji...@apache.org> on 2020/12/15 17:40:00 UTC

[jira] [Updated] (ARROW-10923) Failure to read parquet from s3 after uploading file to s3-object

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

Darren Weber updated ARROW-10923:
---------------------------------
    Summary: Failure to read parquet from s3 after uploading file to s3-object  (was: Failure to read parquet from s3 after copy of s3-object to new s3-key)

> Failure to read parquet from s3 after uploading file to s3-object
> -----------------------------------------------------------------
>
>                 Key: ARROW-10923
>                 URL: https://issues.apache.org/jira/browse/ARROW-10923
>             Project: Apache Arrow
>          Issue Type: Improvement
>          Components: Python
>            Reporter: Darren Weber
>            Priority: Major
>
> After a parquet file was copied to an s3-bucket and s3-key, pyarrow does not read it from s3.  Desired behavior is that an s3-object for parquet should be self-contained, it should not depend on or track any substantial metadata about the storage engine or file system location it was saved to in such a way that it prevents relocating the object.  To try to replicate the problem, save any parquet file on a linux file system (ext4) and then use the aws-cli to copy that file to any s3-object and then try to use geopandas.read_parquet to load that s3-object.
> ```
> File "/opt/conda/envs/project/lib/python3.7/site-packages/geopandas/io/arrow.py", line 404, in _read_parquet
>  table = parquet.read_table(path, columns=columns, **kwargs)
>  File "/opt/conda/envs/project/lib/python3.7/site-packages/pyarrow/parquet.py", line 1573, in read_table
>  ignore_prefixes=ignore_prefixes,
>  File "/opt/conda/envs/project/lib/python3.7/site-packages/pyarrow/parquet.py", line 1434, in __init__
>  ignore_prefixes=ignore_prefixes)
>  File "/opt/conda/envs/project/lib/python3.7/site-packages/pyarrow/dataset.py", line 667, in dataset
>  return _filesystem_dataset(source, **kwargs)
>  File "/opt/conda/envs/project/lib/python3.7/site-packages/pyarrow/dataset.py", line 424, in _filesystem_dataset
>  fs, paths_or_selector = _ensure_single_source(source, filesystem)
>  File "/opt/conda/envs/project/lib/python3.7/site-packages/pyarrow/dataset.py", line 391, in _ensure_single_source
>  file_info = filesystem.get_file_info([path])[0]
>  File "pyarrow/_fs.pyx", line 429, in pyarrow._fs.FileSystem.get_file_info
>  File "pyarrow/error.pxi", line 122, in pyarrow.lib.pyarrow_internal_check_status
>  File "pyarrow/error.pxi", line 99, in pyarrow.lib.check_status
> ```
> ```
> $ poetry show pyarrow
> name         : pyarrow
> version      : 1.0.1
> description  : Python library for Apache Arrow
> dependencies
>  - numpy >=1.14
> $ poetry show geopandas
> name         : geopandas
> version      : 0.8.1
> description  : Geographic pandas extensions
> dependencies
>  - fiona *
>  - pandas >=0.23.0
>  - pyproj >=2.2.0
>  - shapely *
> $ poetry show s3fs
> name         : s3fs
> version      : 0.4.2
> description  : Convenient Filesystem interface over S3
> dependencies
>  - botocore >=1.12.91
>  - fsspec >=0.6.0
> $ poetry show fsspec
> name         : fsspec
> version      : 0.8.4
> description  : File-system specification
> ```



--
This message was sent by Atlassian Jira
(v8.3.4#803005)