我在使用yarn-client的Spark Cluster上运行的Apache Zeppelin中创建并运行了一个%pyspark 程序。程序正在从HDFS读取Dataframe中的文件并执行简单的groupby命令并成功打印输出。我使用的是Zeppellin版本0.6.2和Spark 2.0.0。
我可以看到作业在YARN中运行(参见application_1480590511892_0007):
但是当我同时检查Spark UI时,这项工作根本没有任何内容:
问题1 :这两个窗口中是否应该显示此作业?
此外,上面SparkUI图像中已完成的应用程序是带有%python 解释器的Zeppelin作业,只需初始化SparkSession并停止它:
第一个齐柏林飞艇区块:
%python
from pyspark.sql import SparkSession
from pyspark.sql import Row
import collections
spark = SparkSession.builder.appName("SparkSQL").getOrCreate()
第二个Zeppelin区块:
%python
spark.stop()
问题2:此作业依次没有出现在YARN UI中。是否就是每当SparkUI中出现一个作业意味着它正在使用Spark Resource manager运行?
对这些问题的任何见解都非常感谢。
答案 0 :(得分:1)
首次使用解释器时,Zeppelin会运行连续的Spark应用程序。所有段落都将在这一个应用程序中运行。在第二段中,您将停止SparkSession(spark.stop),这样就会终止首次使用解释器时创建的应用程序。因此,您只需在“已完成的应用程序”部分下查看作业即可。如果删除spark.stop,则应该看到“正在运行的应用程序”下列出的作业。