John Smith
06/16/2023, 9:48 AMJustin Taylor
06/16/2023, 11:13 AMMultiPartitionsDefinition
documentation:
https://docs.dagster.io/concepts/partitions-schedules-sensors/partitions#multi-dimensionally-partitioned-assets
https://docs.dagster.io/_apidocs/partitions#dagster.MultiPartitionsDefinitionJohn Smith
06/16/2023, 12:53 PMowen
06/16/2023, 9:14 PMpartitions_a = ...
partitions_b = ...
@asset(partitions_def=partitions_a)
def a():
...
@asset(partitions_def=partitions_b)
def b():
...
@asset(
partitions_def=MultiPartitionsDefinition(
{"a": partitions_a, "b": partitions_b},
),
)
def aXb(a, b):
...
then aXb
will have one partition for each combination of partitions_a and partitions_b, and any one execution of aXb will target a single one of those combinationsJohn Smith
06/29/2023, 10:32 PM@asset(partitions_def=partitions_a)
def a():
...
@asset(partitions_def=partitions_b)
def b():
...
@asset(}
def aXb(a, b):
does this mean any updated upstream partition will trigger aXb essentially making aXb the product of latest a and latest b?
2. downstream without upstream
@asset()
def a():
...
@asset()
def b():
...
@asset(
partitions_def=MultiPartitionsDefinition(
{"a": partitions_a, "b": partitions_b},
),
)
def aXb(a, b):
does this mean change in a or b will cause all partitions in aXb to rematerialize?
3. More than two upstream partitions. but not including the 3rd partition in the downstream output
@asset(partitions_def=partitions_a)
def a():
...
@asset(partitions_def=partitions_b)
def b():
...
@asset(partitions_def=partitions_c)
def c():
...
@asset(
partitions_def=MultiPartitionsDefinition(
{"a": partitions_a, "b": partitions_b}, #but not c
),
)
def aXbXc(a, b, c):
None of them seem to throw an except upon loading the code location, but are they valid?