from airflow import DAG
from airflow.operators import BashOperator
from datetime import datetime, timedelta
args = {'owner': 'airflow','depends_on_past': False,'start_date': datetime(2015, 6, 1),}
dag = DAG('tutorial', default_args=args)
var1 = ???
# t1, t2 and t3 are examples of tasks created by instatiating operators
t1 = BashOperator(task_id='print_date',bash_command='date', dag=dag)
t2 = BashOperator(task_id='sleep',bash_command='sleep 5',dag=dag)
templated_command = """
{% for i in range(5) %}
echo "{{ ds }}"
echo "{{ macros.ds_add(ds, 7)}}"
echo "{{ params.my_param }}"
{% endfor %}
"""
t3 = BashOperator(task_id='templated',bash_command=templated_command,params={'my_param': 'Parameter I passed in'},dag=dag)
t2.set_upstream(t1)
t3.set_upstream(t1)
marc
execution_date = kwargs.get('execution_date')
def do_something(ds, execution_date, ti, **kwargs):...
ti.execution_date
from airflow.operators import BashOperator, DummyOperator, PythonOperator
from airflow.models import DAG
from datetime import datetime, timedelta
from airflow.macros import ds_add
args = {
'owner': 'cgr',
'start_date': datetime(2015, 9, 1),
'depends_on_past': True
}
dag = DAG(dag_id='tst_stats_002', schedule_interval=timedelta(days=1), default_args=args)
def pc(ds, **kwargs):
ed = str(kwargs.get('execution_date'))
print(ds)
return ed
t1 = PythonOperator(task_id='python_task', provide_context=True, python_callable=pc, dag=dag)
# Code that I'm unsure about ***
# I would like to echo ed using a BashOperator ***
c1 = "echo " + ed ? or
c1 = "echo " + ....
# *************************************************
t2 = BashOperator(task_id='tst_stats', bash_command=c1, dag=dag)
t2.set_upstream(t1)