Reuven Lax created BEAM-7301: -------------------------------- Summary: Beam transforms reorder fields Key: BEAM-7301 URL: https://issues.apache.org/jira/browse/BEAM-7301 Project: Beam Issue Type: Sub-task Components: sdk-java-core Reporter: Reuven Lax Assignee: Yueyang Qiu
Currently transforms such as Select, DropFields, RenameFields, and AddFields can create schemas with unexpected order. The problem is that FieldAccessDescriptor stores top-level fields and nested fields separately, so there's no way to tell the relative order between them. To fix this we should refactor FieldAccessDescriptor: instead of storing these separately it should store a single list, where each item in the list might optionally have a nested FieldAccessDescriptor. Expected behavior from the transforms: DropFields: preserves order in original schema RenameFields: preserves order in original schema AddFields: adds fields in order specified. If multiple nested fields are selected, the first reference to the top field wins (e.g. adding "a.b", "c", "a.d" results in adding a before c. Select: Select fields in the order specified. -- This message was sent by Atlassian JIRA (v7.6.3#76005)