You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@arrow.apache.org by "Martin Durant (JIRA)" <ji...@apache.org> on 2018/09/17 00:08:00 UTC

[jira] [Created] (ARROW-3247) Support spark array and map types

Martin Durant created ARROW-3247:
------------------------------------

             Summary: Support spark array and map types
                 Key: ARROW-3247
                 URL: https://issues.apache.org/jira/browse/ARROW-3247
             Project: Apache Arrow
          Issue Type: Improvement
          Components: Python
            Reporter: Martin Durant


As far I understand, there is already some support for nested array/dict/structs in arrow. However, spark Map and List types are structured one level deeper (I believe to allow for both NULL and empty entries). Surprisingly, fastparquet can load these. I do not know the plan for arbitrary nested object support, but it should be made clear.

Schema of spark-generated file from the fastparquet test suite (please see in text mode):

 - spark_schema:
| - map_op_op: MAP, OPTIONAL
|   - key_value: REPEATED
|   | - key: BYTE_ARRAY, UTF8, REQUIRED
|     - value: BYTE_ARRAY, UTF8, OPTIONAL
| - map_op_req: MAP, OPTIONAL
|   - key_value: REPEATED
|   | - key: BYTE_ARRAY, UTF8, REQUIRED
|     - value: BYTE_ARRAY, UTF8, REQUIRED
| - map_req_op: MAP, REQUIRED
|   - key_value: REPEATED
|   | - key: BYTE_ARRAY, UTF8, REQUIRED
|     - value: BYTE_ARRAY, UTF8, OPTIONAL
| - map_req_req: MAP, REQUIRED
|   - key_value: REPEATED
|   | - key: BYTE_ARRAY, UTF8, REQUIRED
|     - value: BYTE_ARRAY, UTF8, REQUIRED
| - arr_op_op: LIST, OPTIONAL
|   - list: REPEATED
|     - element: BYTE_ARRAY, UTF8, OPTIONAL
| - arr_op_req: LIST, OPTIONAL
|   - list: REPEATED
|     - element: BYTE_ARRAY, UTF8, REQUIRED
| - arr_req_op: LIST, REQUIRED
|   - list: REPEATED
|     - element: BYTE_ARRAY, UTF8, OPTIONAL
  - arr_req_req: LIST, REQUIRED
    - list: REPEATED
      - element: BYTE_ARRAY, UTF8, REQUIRED

(please forgive that some of this has already been mentioned elsewhere; this is one of the entries in the list at https://github.com/dask/fastparquet/issues/374 as a feature that is useful in fastparquet)



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)