Python 将spark2提交与Apache一起使用

Python 将spark2提交与Apache一起使用,python,apache-spark,airflow,Python,Apache Spark,Airflow,对于我的工作流,我需要使用spark2运行作业。 我没有找到SparkSubmito操作符的任何示例或良好文档,但还是尝试将其用于 spark_submit = SparkSubmitOperator( task_id='task_id', application=string_with_path_to_jar_file, conf={ 'spark.sql.warehouse.dir': 'file:/tmp/', 'spark.hadoop.fs.permissions.um

对于我的工作流,我需要使用spark2运行作业。 我没有找到SparkSubmito操作符的任何示例或良好文档,但还是尝试将其用于

spark_submit = SparkSubmitOperator(
task_id='task_id',
application=string_with_path_to_jar_file,
conf={
    'spark.sql.warehouse.dir': 'file:/tmp/',
    'spark.hadoop.fs.permissions.umask-mode': '002',
    'spark.serializer': 'org.apache.spark.serializer.KryoSerializer',
    'spark.network.timeout': '360s',
    'spark.yarn.executor.memoryOverhead': '5g',
    'spark.dynamicAllocation.maxExecutors': '100'
},
env_vars={
    'master': 'yarn',
    'deploy-mode': 'client'
},
java_class=some_java_class,
executor_memory='12G',
driver_memory='3G',
num_executors=50,
application_args={'app.properties'})
运行作业时,我收到以下警告:

.local/lib/python2.7/site-packages/airflow/models.py:2160: PendingDeprecationWarning: Invalid arguments were passed to SparkSubmitOperator. Support for passing such arguments will be dropped in Airflow 2.0. Invalid arguments were:  
[2018-07-09 18:01:53,947] {base_task_runner.py:98} INFO - Subtask: *args: ()  
[2018-07-09 18:01:53,947] {base_task_runner.py:98} INFO - Subtask: **kwargs: {'env_vars': {'deploy-mode': 'client', 'master': 'yarn'}}  
[2018-07-09 18:01:53,947] {base_task_runner.py:98} INFO - Subtask:   category=PendingDeprecationWarning  
现在我的问题是:


我可能是以错误的方式使用SparkSubmitOperator,是否有使用它的好例子/文档,或者有人知道我做错了什么吗?

给你,SparkSubmitOperator的片段:

   SparkSubmitOperator(
   task_id='Extraction',
   application='../scala-2.11/ssot_2.11-0.1.jar',
   conn_id='spark_default',
   driver_class_path='../mysql-connector-java/jars/mysql-connector-java-8.0.17.jar',
   jars='../mysql-connector-java/jars/mysql-connector-java-8.0.17.jar',
   dag=dag)

还有气流连接的详细信息。

是否有必要使用
env_vars
?在我看来,这似乎是这里的全部问题。这就是问题所在,我必须将其放入webUI的Connections->spark\u默认配置中。但如果能从airflow设置部署模式,那就太好了。是否有直接由操作员进行设置的推荐方法?