Skip to content

Segment-based (categorical) asset partitions for static sets — rollup (n-1) and fan-out (1-n) #68238

@Lee-W

Description

@Lee-W

Body

Segment-based (categorical) partitions — static sets

Categorical asset partitions whose key set is declared statically at authoring time (fixed regions / jurisdictions / known variants). Both cardinalities:

  • n-1 (rollup) — fold a fixed segment set into one downstream run: RollupMapper(upstream_mapper=FixedKeyMapper("all_regions"), window=SegmentWindow(["us","eu","apac"])) (mapper/window primitives landed; release semantics via wait policies, Let partitioned Dag runs fire on a partial upstream window with wait_policy #66848.)

  • 1-n (scatter) — fan one upstream event out to a fixed segment set: FanOutMapper(upstream_mapper=IdentityMapper(), window=SegmentWindow(["us","eu","apac"]), downstream_mapper=...)

SegmentWindow is the shared primitive for both directions; FixedKeyMapper supplies the rollup bucket. (Supersedes the earlier AllowedKeyMapper([...]) sketch.)

Committer

  • I acknowledge that I am a maintainer/committer of the Apache Airflow project.

Metadata

Metadata

Assignees

No one assigned

    Labels

    kind:metaHigh-level information important to the community

    Type

    No type
    No fields configured for issues without a type.

    Projects

    Status
    In Review

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions