You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jira@arrow.apache.org by "Prem Sagar Gali (Jira)" <ji...@apache.org> on 2020/09/28 18:49:00 UTC

[jira] [Created] (ARROW-10123) `parquet.read_table` fails when `BytesIO` buffer is given as source

Prem Sagar Gali created ARROW-10123:
---------------------------------------

             Summary: `parquet.read_table` fails when `BytesIO` buffer is given as source
                 Key: ARROW-10123
                 URL: https://issues.apache.org/jira/browse/ARROW-10123
             Project: Apache Arrow
          Issue Type: Bug
    Affects Versions: 1.0.1
         Environment: OS: Ubuntu 20.04
Pyarrow version: 1.0.1
arrow cpp: 1.0.1
            Reporter: Prem Sagar Gali


`pyarrow.parquet.write_table` writes correctly to a `BytesIO` object. But when the same buffer is sent to `pyarrow.parquet.read_table` there is an error.

 
{code:python}
In[28]: import pyarrow as pa
In[29]: pa.table({"a":[1, 2, 3]})
Out[29]: 
pyarrow.Table
a: int64
In[30]: table = pa.table({"a":[1, 2, 3]})
In[31]: table
Out[31]: 
pyarrow.Table
a: int64
In[32]: table['a']
Out[32]: 
<pyarrow.lib.ChunkedArray object at 0x7f4a25cce290>
[
  [
    1,
    2,
    3
  ]
]
In[33]: import io
In[34]: f = io.BytesIO()
In[35]: pa.parquet.write_table(table, f)
In[36]: f.seek(0)
Out[36]: 0
In[37]: file_buffer = f.read()
In[38]: file_buffer
Out[38]: b'PAR1\x15\x04\x150\x15.L\x15\x06\x15\x04\x12\x00\x00\x18\x04\x01\x00\t\x01<\x02\x00\x00\x00\x00\x00\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00\x15\x00\x15\x14\x15\x18,\x15\x06\x15\x04\x15\x06\x15\x06\x1c\x18\x08\x03\x00\x00\x00\x00\x00\x00\x00\x18\x08\x01\x00\x00\x00\x00\x00\x00\x00\x16\x00(\x08\x03\x00\x00\x00\x00\x00\x00\x00\x18\x08\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\n$\x02\x00\x00\x00\x06\x01\x02\x03$\x00&\xe4\x01\x1c\x15\x04\x195\x04\x00\x06\x19\x18\x01a\x15\x02\x16\x06\x16\xda\x01\x16\xdc\x01&R&\x08\x1c\x18\x08\x03\x00\x00\x00\x00\x00\x00\x00\x18\x08\x01\x00\x00\x00\x00\x00\x00\x00\x16\x00(\x08\x03\x00\x00\x00\x00\x00\x00\x00\x18\x08\x01\x00\x00\x00\x00\x00\x00\x00\x00\x19,\x15\x04\x15\x04\x15\x02\x00\x15\x00\x15\x04\x15\x02\x00\x00\x00\x15\x02\x19,5\x00\x18\x06schema\x15\x02\x00\x15\x04%\x02\x18\x01a\x00\x16\x06\x19\x1c\x19\x1c&\xe4\x01\x1c\x15\x04\x195\x04\x00\x06\x19\x18\x01a\x15\x02\x16\x06\x16\xda\x01\x16\xdc\x01&R&\x08\x1c\x18\x08\x03\x00\x00\x00\x00\x00\x00\x00\x18\x08\x01\x00\x00\x00\x00\x00\x00\x00\x16\x00(\x08\x03\x00\x00\x00\x00\x00\x00\x00\x18\x08\x01\x00\x00\x00\x00\x00\x00\x00\x00\x19,\x15\x04\x15\x04\x15\x02\x00\x15\x00\x15\x04\x15\x02\x00\x00\x00\x16\xdc\x01\x16\x06&\xe4\x01\x16\xdc\x01\x14\x00\x00\x19\x1c\x18\x0cARROW:schema\x18\xac\x01/////3gAAAAQAAAAAAAKAAwABgAFAAgACgAAAAABBAAMAAAACAAIAAAABAAIAAAABAAAAAEAAAAUAAAAEAAUAAgABgAHAAwAAAAQABAAAAAAAAECJAAAABQAAAAEAAAAAAAAAAgADAAIAAcACAAAAAAAAAFAAAAAAQAAAGEAAAA=\x00\x18"parquet-cpp version 1.5.1-SNAPSHOT\x19\x1c\x1c\x00\x00\x00r\x01\x00\x00PAR1'
In[40]: pa.parquet.read_table(file_buffer)
Exception ignored in: 'pyarrow._dataset._make_file_source'
TypeError: cannot construct a FileSource from b'PAR1\x15\x04\x150\x15.L\x15\x06\x15\x04\x12\x00\x00\x18\x04\x01\x00\t\x01<\x02\x00\x00\x00\x00\x00\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00\x15\x00\x15\x14\x15\x18,\x15\x06\x15\x04\x15\x06\x15\x06\x1c\x18\x08\x03\x00\x00\x00\x00\x00\x00\x00\x18\x08\x01\x00\x00\x00\x00\x00\x00\x00\x16\x00(\x08\x03\x00\x00\x00\x00\x00\x00\x00\x18\x08\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\n$\x02\x00\x00\x00\x06\x01\x02\x03$\x00&\xe4\x01\x1c\x15\x04\x195\x04\x00\x06\x19\x18\x01a\x15\x02\x16\x06\x16\xda\x01\x16\xdc\x01&R&\x08\x1c\x18\x08\x03\x00\x00\x00\x00\x00\x00\x00\x18\x08\x01\x00\x00\x00\x00\x00\x00\x00\x16\x00(\x08\x03\x00\x00\x00\x00\x00\x00\x00\x18\x08\x01\x00\x00\x00\x00\x00\x00\x00\x00\x19,\x15\x04\x15\x04\x15\x02\x00\x15\x00\x15\x04\x15\x02\x00\x00\x00\x15\x02\x19,5\x00\x18\x06schema\x15\x02\x00\x15\x04%\x02\x18\x01a\x00\x16\x06\x19\x1c\x19\x1c&\xe4\x01\x1c\x15\x04\x195\x04\x00\x06\x19\x18\x01a\x15\x02\x16\x06\x16\xda\x01\x16\xdc\x01&R&\x08\x1c\x18\x08\x03\x00\x00\x00\x00\x00\x00\x00\x18\x08\x01\x00\x00\x00\x00\x00\x00\x00\x16\x00(\x08\x03\x00\x00\x00\x00\x00\x00\x00\x18\x08\x01\x00\x00\x00\x00\x00\x00\x00\x00\x19,\x15\x04\x15\x04\x15\x02\x00\x15\x00\x15\x04\x15\x02\x00\x00\x00\x16\xdc\x01\x16\x06&\xe4\x01\x16\xdc\x01\x14\x00\x00\x19\x1c\x18\x0cARROW:schema\x18\xac\x01/////3gAAAAQAAAAAAAKAAwABgAFAAgACgAAAAABBAAMAAAACAAIAAAABAAIAAAABAAAAAEAAAAUAAAAEAAUAAgABgAHAAwAAAAQABAAAAAAAAECJAAAABQAAAAEAAAAAAAAAAgADAAIAAcACAAAAAAAAAFAAAAAAQAAAGEAAAA=\x00\x18"parquet-cpp version 1.5.1-SNAPSHOT\x19\x1c\x1c\x00\x00\x00r\x01\x00\x00PAR1'
Traceback (most recent call last):
  File "/home/pgali/anaconda3/envs/cudf_dev/lib/python3.7/site-packages/IPython/core/interactiveshell.py", line 3417, in run_code
    exec(code_obj, self.user_global_ns, self.user_ns)
  File "<ipython-input-40-0e57dd61ae16>", line 1, in <module>
    pa.parquet.read_table(file_buffer)
  File "/home/pgali/anaconda3/envs/cudf_dev/lib/python3.7/site-packages/pyarrow/parquet.py", line 1573, in read_table
    ignore_prefixes=ignore_prefixes,
  File "/home/pgali/anaconda3/envs/cudf_dev/lib/python3.7/site-packages/pyarrow/parquet.py", line 1411, in __init__
    [fragment], schema=fragment.physical_schema,
  File "pyarrow/_dataset.pyx", line 694, in pyarrow._dataset.Fragment.physical_schema.__get__
  File "pyarrow/error.pxi", line 122, in pyarrow.lib.pyarrow_internal_check_status
  File "pyarrow/error.pxi", line 84, in pyarrow.lib.check_status
pyarrow.lib.ArrowInvalid: Called Open() on an uninitialized FileSource

{code}
 

 



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