Airflow SparkSubmitoOperator vs SSHOperator,用于提交气流中的pyspark应用程序

Airflow SparkSubmitoOperator vs SSHOperator,用于提交气流中的pyspark应用程序,airflow,airflow-scheduler,spark-submit,airflow-operator,apache-spark-2.3,Airflow,Airflow Scheduler,Spark Submit,Airflow Operator,Apache Spark 2.3,我有不同的spark和airflow服务器。我的服务器中没有spark二进制文件。我能够使用SSHOperator并在集群模式下很好地运行spark作业。我想知道从长远来看,使用SSHOperator或SparkSubmitOperator提交pyspark作业有什么好处。如有任何帮助,我们将不胜感激。SparkSubmitOperator是一名专业操作员。也就是说,它应该使提交Spark作业的编写任务更容易,代码本身更可读和可维护。因此,如果可能的话,我会使用它 在你的情况下,你应该考虑如果修

我有不同的spark和airflow服务器。我的服务器中没有spark二进制文件。我能够使用SSHOperator并在集群模式下很好地运行spark作业。我想知道从长远来看,使用SSHOperator或SparkSubmitOperator提交pyspark作业有什么好处。如有任何帮助,我们将不胜感激。

SparkSubmitOperator是一名专业操作员。也就是说,它应该使提交Spark作业的编写任务更容易,代码本身更可读和可维护。因此,如果可能的话,我会使用它


在你的情况下,你应该考虑如果修改基础结构,这样你就可以使用SpulkSuiMaultor,这是值得的,我上面提到过。

下面是在空气流中使用SSHORACHVS SPARKPASS运算符的利弊,我的建议如下。 SSHOperator:此操作员将对远程Spark服务器执行SSH操作,并在远程集群中执行Spark提交

优点:

  • 气流调节器中不需要其他配置
  • 缺点:

  • 难以维护spark配置参数
  • 需要从airflow服务器到spark服务器启用SSH端口22,这会导致安全问题(尽管您在专用网络上,但使用基于SSH的远程执行不是最佳做法。)
  • SparkSubbmitOperator:此操作员将以干净的方式执行spark提交操作,但您仍需要进行其他基础结构配置

    优点:

  • 如上所述,它提供了方便的spark配置,无需额外调用spark submit
  • 缺点:

  • 需要在所有气流服务器上安装spark
  • 除了这两个选项外,我还列出了另外两个选项

  • 在spark集群上安装Livy服务器,并使用python Livy库与spark服务器进行交互。参考:

  • 如果您的spark群集在AWS EMR上,我鼓励您使用EmrAddStepsOperator

  • 有关其他讨论,请参阅此处: