在 Airflow 的环境变量中设置变量

时间:2021-02-01 11:03:23

标签: kubernetes airflow airflow-operator

我正在为我的 pythin 作业创建一个 Airflow DAG。此作业在 s3 存储桶中创建具有当前日期的 json 文件。我打算将日期作为环境变量传递。有可能这样做吗? 我正在尝试的内容如下

recommendations = KubernetesPodOperator(
    namespace='data',
    image = "quay.io/comp/data-rp-recommender:0.1.1",
    name = "data-rp-recommender-run",
    task_id = "data-rp-recommender-task",
    dag = dag,
    get_logs = True,
    in_cluster = True,
    is_delete_operator_pod = False,
    volumes = [
        Volume(
            name = 'etcctek',

        )
    ],
    volume_mounts = [
        VolumeMount(
            name = 'etcctek',
            mount_path = '/opt/docker/etc',
            sub_path = None,
            read_only = True
        )
    ],
    env_vars = {
    'DATE' :
    'USER_PRECEDING_STATS_S3' : 's3a://ml/rp-recommendations/userPreceedingStats/int/DATE/json'
    'NUGGET_CATEGORICALS_S3' : 's3a://ml/rp-recommendations/nuggetCategorials/int/DATE/json'
    'PREREQUISITE_STATS_S3' : 's3a://ml/rp-recommendations/prerequisiteStats/int/DATE/json'
    'USER_CURRENT_STATS_S3' : 's3a://ml/rp-recommendations/userCurrentStats/int/DATE/json'
    },
 
    resources = {
        'request_memory': '2048M',
        'request_cpu': '1.5'
    }
)

在上面的示例中,我想将 DATE 的 env_vars 设置为当前日期,然后在下面的其他变量中使用该当前日期。这是我第一次接触气流,需要一些帮助

1 个答案:

答案 0 :(得分:0)

假设要写任务执行开始时间:

var = '{{ ti.start_date }}'

有关任务实例模型的更多详细信息 here