pyspark shell连接到哪个群集?

时间:2018-08-17 16:44:23

标签: apache-spark amazon-s3 pyspark

初学者的问题,今天才开始学习Spark。

本教程首先指导我运行pyspark,例如

./spark-2.3.1-bin-hadoop2.7/bin/pyspark

这将旋转一个外壳,并且神奇地给了我一个scspark实例。我可以使用它们来加载本地文件并执行简单的操作。

sc<SparkContext master=local[*] appName=PySparkShell>

我的问题是:该Shell连接到哪个Spark集群?

我的理解是,火花簇必须首先运行,然后才能与客户端连接,而python(通过pyspark)是客户端的一种语言。

我的目标是找出此Shell连接到的群集,因此我可以配置该群集以使其能够从S3加载文件。

谢谢。

2 个答案:

答案 0 :(得分:1)

鉴于您提供的信息,这不可能说。

  • 如果在spark.master中设置了spark-defaults.conf,则为该值。
  • 否则它将使用local[*]

如有疑问,请检查Spark UI或spark.sparkContext.master / sc.master

答案 1 :(得分:0)

您已将主服务器设置为本地主机,这意味着一切都将在本地计算机上运行。

因此,如果要在群集上运行,则必须相应地设置群集并将master用作yarn-cluster。

此外,如果您可以尝试将master用作yarn-client,则意味着集群和交互式shell或执行是在同一节点上进行的。

默认情况下,交互式外壳程序在本地或yarn-client模式下运行。要检查集群详细信息,您可以查找spark配置文件。您可以尝试使用setMaster("yarn-cluster")

我不确定这是否可以在交互模式下工作。您还可以在进入交互式外壳程序时尝试另一种方法

pyspark --master yarn-cluster

我建议这两个选项,我不确定它们是否可以与交互式外壳一起使用。我将通过测试来更新您。