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

[jira] [Created] (ARROW-8799) [C++][Dataset] Reading list column as nested dictionary segfaults

Joris Van den Bossche created ARROW-8799:
--------------------------------------------

             Summary: [C++][Dataset] Reading list column as nested dictionary segfaults
                 Key: ARROW-8799
                 URL: https://issues.apache.org/jira/browse/ARROW-8799
             Project: Apache Arrow
          Issue Type: Bug
          Components: C++
            Reporter: Joris Van den Bossche


Python example:

{code}
import pyarrow as pa
import pyarrow.parquet as pq  
from pyarrow.tests import util                                                                                                                                                                             
                                                                                                                                                                      
repeats = 10 
nunique = 5 

data = [ 
    [[util.rands(10)] for i in range(nunique)] * repeats, 
] 
table = pa.table(data, names=['f0'])                                                                                                                                                                   

pq.write_table(table, "test_dictionary.parquet")
{code}

Reading with the parquet code works:

{code}
>>> pq.read_table("test_dictionary.parquet", read_dictionary=['f0.list.item'])                                                                                                                                  
pyarrow.Table
f0: list<item: dictionary<values=string, indices=int32, ordered=0>>
  child 0, item: dictionary<values=string, indices=int32, ordered=0>
{code}

but doing the same with the datasets API segfaults:

{code}
>>> fmt = ds.ParquetFileFormat(read_options=dict(dictionary_columns=["f0.list.item"]))
>>> dataset = ds.dataset("test_dictionary.parquet", format=fmt)                                                                       
>>> dataset.to_table()      
Segmentation fault (core dumped)
{code}



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