开始使用免费开始使用

使用 @task.bash 定义 BashOperator

Bash 任务允许您指定任意 shell 命令或脚本,并将其加入 Airflow 工作流。这是在您的环境中落地 Airflow 的一个很好的起点。

因此,您一直在交付给数据分析团队同事之前,手动运行一些脚本清洗数据(使用名为 cleanup.sh 的脚本)。随着分配给您的此类任务越来越多,您发现手动运行已难以跟上,更不用说处理错误或重试了。您希望将这个简单脚本实现为一个 Airflow operator。

Airflow 的 dag 和 task 对象已经导入。

本练习是课程的一部分

Python 中的 Apache Airflow 入门

查看课程

练习说明

  • 使用 @task.bash 装饰器定义该任务。
  • 使用方法名 cleanup_task
  • 让该任务返回 cleanup.sh

交互式实操练习

通过完成这段示例代码来试试这个练习。

@dag(
  dag_id='analytics_dag', 
  start_date=datetime(2026,1,1)
)
def analytics_dag():
  # Specify a Bash task
  @____
  def ____():
    return '____'
  
  # Run the task
  cleanup_task()

analytics_dag()
编辑并运行代码