2016-07-22 9 views
1

공기 흐름의 "소유자"를 이해하지 못합니다. ower의 주석은 "유닉스 사용자 이름을 사용하는 것이 좋습니다"작업의 소유자입니다. 다음 코드를 작성했습니다.공기 흐름에서 올바른 소유자 작업을 어떻게 사용해야합니까?

Default_args = { 
'owner': 'max', 
'depends_on_past': False, 
'start_date': datetime(2016, 7, 14), 
'email': ['[email protected]'], 
'email_on_failure': False, 
'email_on_retry': False, 
'retries': 1, 
'retry_delay': timedelta(minutes=5), 

}

dag = DAG('dmp-annalect', default_args=default_args, 
       schedule_interval='30 0 * * *') 

pigjob_basedata = """{local_dir}/src/basedata/basedata.sh > 
{local_dir}/log/basedata/run_log & 
""".format(local_dir=WORKSPACE) 

task1_pigjob_basedata = BashOperator(
task_id='task1_pigjob_basedata',owner='max', 
bash_command=pigjob_basedata , 
dag=dag) 

하지만 명령 "공기 흐름 테스트 dagid이 2016년 7월 20일을 TASKID"을 사용, 나는 약간의 오류, 있어 ... {bash_operator.py:77} 정보 - put : 허가가 거부되었습니다 : 사용자 = 기류, ....

내 직업이 "최대"사용자와 함께 달렸다고 생각했지만, apperently 'airflow'사용자를 사용하여 테스트를 실행했습니다.

'최대'사용자를 사용하여 작업을 실행하면 어떻게해야합니까?

답변

1

이 문제를 파악했습니다. /home/airflow /에 AIRFLOW_HOME을 설정 했으므로 공기 흐름 만이 파일 디렉토리에 액세스 할 수 있습니다.

+0

안녕하세요, 조사해 주셔서 감사합니다. 현재 매우 직관적이지는 않습니다. 나는 도커로 작업 중이기 때문에 공기 흐름 폴더를 로컬 폴더에 매핑 했으므로 루트 권한으로 폴더를 덮어 썼습니다. 귀하의 질문은 저를 올바른 방향으로 이끌었습니다! – Pixelartist