我的火花和气流服务器不同。而且我在气流服务器中没有火花二进制文件。我能够使用SSHOperator并在群集模式下很好地运行spark作业。我想知道长期使用SSHOperator或SparkSubmitOperator提交pyspark作业会有什么好处。任何帮助将不胜感激。
答案 0 :(得分:1)
下面是在气流中使用SSHOperator vs SparkSubmit Operator的利弊,我的建议也紧随其后。
SSHOperator::该操作员将对远程Spark服务器执行SSH操作,并在远程集群中执行spark提交。
优点:
缺点:
SparkSubbmitOperator:即使您需要其他基础结构配置,此操作员也将以干净的方式执行Spark提交操作。
优点:
缺点:
除了这两个选项外,我还列出了另外两个选项。
在Spark集群上安装Livy服务器,并使用python Livy库与Airflow中的Spark服务器进行交互。请参阅:https://pylivy.readthedocs.io/en/stable/
如果您的Spark集群位于AWS EMR上,我鼓励使用 EmrAddStepsOperator
答案 1 :(得分:0)
SparkSubmitOperator是专门的运算符。也就是说,它应该使提交Spark作业的编写任务更加容易,并且代码本身更具可读性和可维护性。因此,我会尽可能使用它。
在您的情况下,您应该考虑修改基础架构(以便可以使用SparkSubmitOperator)的努力是否值得我上面提到的好处。