[ 
https://issues.apache.org/jira/browse/ARROW-11000?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17252958#comment-17252958
 ] 

Joris Van den Bossche commented on ARROW-11000:
-----------------------------------------------

The reason I opened this issue is because I saw large download sizes when using 
{{s3fs}} to read a single column of a large parquet file (compared to using our 
own S3Filesystem, which downloaded only a little bit of data). 

So the example basically is the following. But, with the mentioned print 
statements, it seems {{PyReadableFile::ReadAt}} also gets called in this case. 
So it might be rather an issue on s3fs side?

{code}
In [7]: import s3fs

In [8]: fs2 = s3fs.S3FileSystem(anon=True)

In [9]: pq.read_table('ursa-labs-taxi-data/2016/01/data.parquet', 
filesystem=fs2, columns=["passenger_count"])
Calling PyReadableFile::ReadAt
Called seek successfully
....
{code}

> [Python] Enable random access reading for Python file objects (if supported)
> ----------------------------------------------------------------------------
>
>                 Key: ARROW-11000
>                 URL: https://issues.apache.org/jira/browse/ARROW-11000
>             Project: Apache Arrow
>          Issue Type: Improvement
>          Components: Python
>            Reporter: Joris Van den Bossche
>            Priority: Major
>
> {{arrow::py::PyReadableFile::ReadAt}} is being commented as thread-safe (it 
> puts a lock on the underlying python file) and should thus allow random 
> access in parallel code (for example, reading a subset (eg column) of a 
> parquet file). 
> However, based on experimentation, it seems this doesn't work (eg with s3fs 
> filesystem to read a specific parquet column



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

Reply via email to