Je souhaite transmettre la date d'exécution, qui se trouve dans la variable {{ds}}. Cependant, je l'ai passé à travers une fonction, il ne reçoit pas la date d'exécution. Savez-vous comment je peux utiliser la variable dans le contexte ci-dessus?Comment passer une variable ds à une fonction dans un dag?
1
A
Répondre
2
Créez une classe qui étend EmrAddStepsOperator et créez steps
un champ modèle.
Quelque chose comme ceci:
class MyEmrAddStepsOperator(EmrAddStepsOperator):
template_fields = ['job_flow_id','steps']
EmrAddStepsOperator
a lui-même que job_flow_id
comme un champ basé sur un modèle:
class EmrAddStepsOperator(BaseOperator):
"""
An operator that adds steps to an existing EMR job_flow.
:param job_flow_id: id of the JobFlow to add steps to
:type job_flow_name: str
:param aws_conn_id: aws connection to uses
:type aws_conn_id: str
:param steps: boto3 style steps to be added to the jobflow
:type steps: list
"""
template_fields = ['job_flow_id']
Vous ne pouvez utiliser des macros (comme ds
) dans des domaines qui sont templated.
Merci! Désolé pour cette question stupide, seulement avec cette petite variation, Dois-je définir _init_ et exécuter dans cette classe étendue? – ebertbm
Ne devrait pas avoir à ajouter quoi que ce soit – jhnclvr