2016-09-28 6 views
4

공기 흐름을 초보자입니다. 3 가지 작업이있는 DAG가 있습니다. 현재 우리는 개별 작업을 실행할 때 유연성이 필요하기 때문에 Celery Executor를 사용하고 있습니다. 워크 플로를 예약하고 싶지는 않습니다. 지금은 수동 트리거가 될 것입니다. Airflow UI를 사용하여 전체 워크 플로우를 실행할 수있는 방법이 있습니까 (oozie와 동일).공기 흐름 UI를 사용하여 전체 DAG 실행

한 번에 하나의 작업을 실행하는 것은 고통입니다.

+0

명확하게하기 위해 첫 번째 작업을 실행할 때 세 가지 작업을 모두 실행 하시겠습니까? 관련 코드를 게시하십시오. –

+0

종속성을 설정 한 다음 'airflow trigger_dag id'명령 줄에서 dag를 실행하면 무엇이 문제입니까? –

+0

네, 맞습니다. 우리는 첫 번째 작업을 실행할 때 모든 작업을 수행해야합니다. 제한 사항으로 인해 코드를 게시 할 수 없습니다. DAG를 통해 작업 흐름을 수동으로 트리거하는 팀을 지원할 것입니다. 명령 줄에 대한 경험이 많지 않으므로 UI를 통해 실행해야합니다. – user1432155

답변

0

나는 그걸로 찔러보고 잘하면이 코드로 작업 할 수 있습니다.

default_args = { 
'owner': 'airflow', 
'depends_on_past': False, 
'start_date': datetime(2015, 6, 1), 
'email': ['[email protected]'], 
'email_on_failure': False, 
'email_on_retry': False, 
'retries': 1, 
'retry_delay': timedelta(minutes=5), 
# 'queue': 'bash_queue', 
# 'pool': 'backfill', 
# 'priority_weight': 10, 
# 'end_date': datetime(2016, 1, 1), 
} 

dag = DAG('your_dag', default_args=default_args) 

#start of your tasks 

first_task = BashOperator(task_id='print_date', 
          bash_command='python script1_name args', 
          dag=dag) 
second_task = BashOperator(task_id='print_date', 
          bash_command='python script2_name args', 
          dag=dag) 
third_task = BashOperator(task_id='print_date', 
          bash_command='python script_name args', 
          dag=dag) 

#then set the dependencies 
second_task.set_upstream(first_task) 
third_task.set_upstream(second_task) 

그런 다음 DAG를 트리거하면 세 가지 작업이 모두 실행됩니다. 이러한 작업이 이 아니고이 아닌 경우 스크립트에서 set_upstream() 줄을 제거 할 수 있습니다. 하나의 명령으로 실행하려면 이러한 모든 태스크가 동일한 스크립트에 있어야합니다.

공기 흐름 1.8에서
+3

을 트리거 할 수 있습니다. 답변에 대한 귀하의 시간과 노력에 감사드립니다. 하지만 앞서 언급했듯이 Airflow 대시 보드를 통해 실행하고 싶습니다. 명령 프롬프트 또는 스케줄링 메커니즘을 사용하여이 워크 플로를 트리거하고 싶지 않습니다. 언급 된 순서대로 dag를 실행하려면 버튼을 클릭하는 것과 같은 메커니즘이 있습니까? – user1432155

+0

또한, 당신은 아마 몇 가지 가져올 것이다 : 날짜 가져 오기 날짜에서 ''' 공기 흐름을 가져 오기 DAG 에서 airflow.operators.bash_operator 수입 BashOperator 에서를 timedelta ''' – cantdutchthis

4

및 재생 버튼처럼 보이는 대시 보드의 각 DAG위한 버튼이 이상 : 당신이 대화 상자에서 찾을 수 있습니다 공기 흐름의 이전 버전에서

play button

이 :

Browse -> Dag Runs -> Create

UI에서 dag를 시작해야합니다.

관련 문제