How to depend on only one specific key from input with MultiPartitionsDefinition? #18458
-
|
I have a date_and_country = MultiPartitionsDefinition(
{
"date": DailyPartitionsDefinition(start_date="2022-03-12"),
"country": StaticPartitionsDefinition(["USA", "Canada", "Australia"])
})
@asset(partitions_def=date_and_country)
def upstream():
passI have another date_and_color = MultiPartitionsDefinition(
{
"date": DailyPartitionsDefinition(start_date="2022-03-12"),
"color": StaticPartitionsDefinition(["red", "green", "blue"])
})
@asset(partitions_def=date_and_color)
def downstream(upstream):
passI want How can I achieve this? |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment 1 reply
-
|
@rprechelt In your case, you can provide a @asset(
partitions_def=date_and_color,
ins={
"upstream": AssetIn(
partition_mapping=MultiPartitionMapping(
{
"date": DimensionPartitionMapping(
"date", TimeWindowPartitionMapping()
),
"country": DimensionPartitionMapping(
"color", SpecificPartitionsPartitionMapping(["USA"])
),
}
),
)
},
)
def downstream(context, upstream):
context.log.info(context.asset_partition_keys_for_input("upstream"))
... |
Beta Was this translation helpful? Give feedback.
@rprechelt In your case, you can provide a
SpecificPartitionsPartitionMappingtoMultiPartitionMappingthat defines that each color partition depends on a specific partition in the upstream "country" dimension: