最近在使用airflow
下载anaconda3 ,然后配置环境变量。pip install airflow 或者 pip install apache-airflow
下载code进行脚本配置,code 配置之后提交git,在Jenkins上面进行构建任务,任务及airflow任务都构建。然后去airflow界面进行查看任务,并且打开任务列表。
import airflow
from airflow import DAG
from airflow.operators.hive_operator import HiveOperator
from airflow.operators.bash_operator import BashOperator
from airflow.models import Variable
import pendulum
from datetime import timedelta, datetime
from airflow.utils import timezone
from airflow.models import Variable
# 设置本地时区 1或2
yesterday = datetime.combine(datetime.now() - timedelta(2),
datetime.min.time())
# 设置DAG基本参数
default_args = {
'owner': 'hadoop',
'depends_on_past': False,
'start_date': yesterday,
'email': ['','',''],
'email_on_failure': True,
'email_on_retry': False,
'retries': 1,
'retry_delay': timedelta(minutes=5), #失败或者超时之后,延迟多长时间重试
'queue': '机器名'
}
dag_name = DAG(
'name2',
default_args=default_args,
description='chinese name3',
schedule_interval = '00 00 * * *',
catchup=False)
ods_name4= BashOperator(
task_id='name5',
bash_command="""/data/spark-job/**/bin/ *** --startDate {{ ds }} --isOnline true""",
dag =dag_name
)
有个问题是任务之间的依赖:使用set_upstream. a1.set_upstream(a2) 说明a1依赖与a2
这是一个文件夹里的依赖
最近会去解决,不同文件夹之间的任务依赖。