在SparkR shell中,我想生成一个链接,以便在Yarn模式下查看Spark UI。通常情况下,Spark UI位于端口4040,但在Yarn模式下,它显然与[host]:9046/proxy/application_1234567890123_0001/
类似,其中路径的最后一部分是唯一的applicationId。
其他SO答案显示了如何获取Scala和Python shell的applicationID。我们如何从SparkR获取applicationID?
作为黑暗中的刺,我尝试了SparkR:::callJMethod(sc, "applicationId")
,但它没有用。
我也尝试了system("yarn application -list")
的内容,但这似乎不适用于RStudio并且有其他限制。
答案 0 :(得分:2)
您可以直接关注YARN Web UI中的链接以访问Spark UI。从端口8088的YARN Web UI,您可以单击“正在运行的应用程序”,这将显示指向“应用程序状态”页面的链接。
如果您想使用.ui-btn::after {
background-size: 32px !important;
width: 32px !important;
height: 32px !important;
}
获取应用程序ID,可以使用callJMethod
之类的内容。
我们需要对SparkR:::callJMethod(SparkR:::callJMethod(sc, "sc"), "applicationId")
进行嵌套调用的原因是因为sc
是一个JavaSparkContext句柄,sc
仅在Scala SparkContext中可用。
答案 1 :(得分:0)
创建Spark会话后,您可以执行以下操作以获取Spark应用程序ID。
print(sparkR.conf("spark.app.id"))