spark-submitスクリプトを使用して手動で実行しているSparkストリーミングジョブがあります。私は毎日実行するようにスケジュールしたい。Sparkストリーミングジョブのスケジュール
Azkaban、Airflow、Oozie、Crontab、Spark-jobserver、Quartz、Luigiのどれが良いですか。
ご了承ください。
spark-submitスクリプトを使用して手動で実行しているSparkストリーミングジョブがあります。私は毎日実行するようにスケジュールしたい。Sparkストリーミングジョブのスケジュール
Azkaban、Airflow、Oozie、Crontab、Spark-jobserver、Quartz、Luigiのどれが良いですか。
ご了承ください。
私はこのリストのOozieとAirflowで作業する機会を得ました。 最初は私はOozieから始めましたが、Oozieは2.0のsparkの良い選択肢ではありません。私はOozieを使って自分のSpark2.0ジョブを実行することができませんでした。 その後、私は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/