bugfix> airflow > 投稿

Spark を実行できます BashOperator を使用するジョブしかし、私は SparkSubmitOperator を使用したい Spark を使用してスタンドアロンモード


ここにあります 私の DAG SparkSubmitOperator のそしてスタックトレース

args = {
    'owner': 'airflow',
    'start_date': datetime(2018, 5, 24)
}
dag = DAG('spark_job', default_args=args, schedule_interval="*/10 * * * *")
operator = SparkSubmitOperator(
    task_id='spark_submit_job',
    application='/home/ubuntu/test.py',
    total_executor_cores='1',
    executor_cores='1',
    executor_memory='2g',
    num_executors='1',
    name='airflow-spark',
    verbose=False,
    driver_memory='1g',
    conf={'master':'spark://xx.xx.xx.xx:7077'},
    dag=dag,
)


のソースを見る spark_submit_hook _resolve_connection() らしい常に master=yarn を設定します 。 master を変更するにはどうすればよいですかプロパティ値 によって Spark スタンドアロンのマスターURL? Spark を実行するように設定できるプロパティ就職スタンドアロンモード

回答 1 件
  • Airflow Web UIを使用して新しい接続を作成するか、 spark-default を変更できます  接続。

    マスターは local にすることができます 、 yarnspark://HOST:PORTmesos://HOST:PORT  および k8s://https://<HOST>:<PORT>

    追加で次のコマンドを指定することもできます。

    {"queue": "root.default", "deploy_mode": "cluster", "spark_home": "", "spark_binary": "spark-submit", "namespace": "default"}
    
    

    「spark-submit」バイナリがPATHにあるか、接続のエクストラにspark-homeが設定されている必要があります。

あなたの答え