2017-09-01 72 views
-1

我有一個Spark Streaming作業,它使用spark-submit腳本手動運行。我想安排它每天運行。安排Spark Streaming作業

哪一個更好Azkaban,Airflow,Oozie,Crontab,Spark-jobserver,Quartz或Luigi。

任何建議表示讚賞!

回答

0

我有機會從此列表中使用Oozie和Airflow。 最初我從Oozie開始,但Oozie對於spark 2.0並不是一個好的選擇。我永遠無法使用Oozie運行我的Spark2.0作業。 然後,我轉移到Airflow,這是快速和易於安裝。它配備了足夠的例子,可以從基本的工作流程開始。 您可以快速瀏覽所有這些內容,或等待所有這些人員的工作人員提供一些反饋。 根據您的要求,Airflow足夠好。如果您最終確定了Airflow,則可以使用下面的DAG來滿足您的要求。

import airflow 
from airflow.models import DAG 
from airflow.operators.bash_operator import BashOperator 
from datetime import timedelta 

default_args = { 
'owner': 'airflow', 
'depends_on_past': False, 
'start_date': datetime(2017, 8, 23,22,40), 
'end-date': datetime(2017, 9, 20, 22, 40), 
'retries': 1, 
'retry_delay': timedelta(minutes=5), 
} 

dag = DAG(
    'Spark-Workflow-DAG', 
    default_args=default_args, 
    description='Spark workflow', 
    schedule_interval=timedelta(days=1)) 

t1 = BashOperator(
    task_id='Execute_Spark_Streaming_Job', 
    bash_command="your complete spark submit command with all the arguments", 
dag=dag) 

很少有鏈接對我有幫助。 https://blog.insightdatascience.com/scheduling-spark-jobs-with-airflow-4c66f3144660 https://www.agari.com/automated-model-building-emr-spark-airflow/

相關問題