Skip to content

[C++][Dataset] Don't require dictionaries for reading dataset with schema-based Partitioning #27161

@asfimport

Description

@asfimport

As a follow-up on ARROW-10247 (see also #9130 (comment)). We currently require the user to pass manually specified dictionary values when reading a dataset with a Partitioning based on a schema with dictionary typed fields.

In practice that means that the user for example needs to parse the file paths to get all the possible values the partition field can take, while Arrow will then afterwards again do the same to construct the dataset object.
Naively, it seems that it should be possible to let Arrow infer the dictionary values, even when providing an explicit schema with a dictionary field for the Partitioning (i.e. so when not letting the partitioning schema itself be inferred from the file paths).

An example use case is when you have a Partitioning schema with both dictionary and non-dictionary fields. When discovering the schema, you can only have all or nothing (all dictionary fields or no dictionary fields).

cc @bkietz

Reporter: Joris Van den Bossche / @jorisvandenbossche
Assignee: David Li / @lidavidm

PRs and other links:

Note: This issue was originally created as ARROW-11260. Please see the migration documentation for further details.

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions