【问题标题】:How to trigger an airflow DAG to run immediately from UI (not schedule)如何触发气流 DAG 立即从 UI 运行(不是计划)
【发布时间】:2020-03-03 12:03:09
【问题描述】:

我有一个如下所示的气流 DAG:

from airflow import DAG

from airflow.contrib.operators.spark_submit_operator import SparkSubmitOperator
from datetime import datetime, timedelta


args = {
    'owner': 'john',
    'start_date': datetime(2020, 3, 01)
}
dag = DAG('spark_example', default_args=args)

operator = SparkSubmitOperator(
    task_id='spark_submit_job',
    conn_id='spark_default',
    java_class='com.om.example.data',
    application='/home/ubuntu/my-jar-1.0.jar',
    total_executor_cores='1',
    executor_cores='1',
    executor_memory='1g',
    num_executors='2',
    name='airflow-spark-code',
    verbose=False,
    driver_memory='1g',
    application_args=["yarn", "172.168.1.23:9092", "kafka_group_1"],
    dag=dag,
)

两个问题:

  1. 如何立即运行此 DAG?我不想安排它,但不确定我需要什么参数。它从命令行工作的唯一方法是如果我这样做:airflow test spark_example spark_submit_job -1

还有……

  1. 从 0.0.0.0:8080 上的 Airflow UI,我如何立即运行此 DAG...当我单击“播放”时,它什么也不做,但它说它正在运行并停留在那里永远的状态

【问题讨论】:

  • 您触发的 DAG 运行中的第一个任务的状态是什么?如果没有状态,您可以单击任务并转到“任务实例详细信息”,然后查看第一部分“依赖项阻止任务从获取计划”下是否有任何内容?这可能会为您提供关于为什么没有运行的线索。

标签: apache-spark spark-streaming airflow


【解决方案1】:

您可以随时使用 latest only 运算符来运行您的 DAG。

latest_only = LatestOnlyOperator(task_id='latest_only', dag=dag)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-11-18
    • 1970-01-01
    • 2021-02-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多