【问题标题】:How to add custom description to Spark Job for displaying in Spark Web UI如何向 Spark 作业添加自定义描述以在 Spark Web UI 中显示
【发布时间】:2019-01-27 03:43:43
【问题描述】:

当我们向 Spark 提交应用程序时,在执行任何操作后,Spark Web UI 会显示 Job 和 Stages,例如 count at MyJob.scala:15。但在我的应用程序中有多个countsave 操作。所以很难理解UI。除了count at MyJob.scala:15,我们可以添加自定义描述来为工作提供更详细的信息。

通过谷歌搜索发现https://issues.apache.org/jira/browse/SPARK-3468https://github.com/apache/spark/pull/2342,作者附上了image,并附有详细描述,如“计数”、“缓存和计数”、“有延迟的工作”。那么我们能达到同样的效果吗?我正在使用 Spark 2.0.0。

【问题讨论】:

    标签: apache-spark


    【解决方案1】:

    使用sc.setJobGroup

    示例:
    蟒蛇:

    In [28]: sc.setJobGroup("my job group id", "job description goes here")
    In [29]: lines = sc.parallelize([1,2,3,4])
    In [30]: lines.count()
    Out[30]: 4
    

    斯卡拉:

    scala> sc.setJobGroup("my job group id", "job description goes here")
    scala> val lines = sc.parallelize(List(1,2,3,4))
    scala> lines.count()
    res3: Long = 4
    

    SparkUI:

    我希望这就是你要找的。​​p>

    【讨论】:

    • 注意,如果您碰巧使用org.apache.spark.sql.SparkSession(后来添加以统一所有不同的sql、spark和hive上下文),那么只需使用yourSparkSession.sparkContext在SparkContext。
    【解决方案2】:

    请注意,如果您更改 JobGroup 名称,新的 Zeppelin 0.8 会丢失他的跟踪钩,并且无法显示他的作业进度条(作业仍在工作,对作业本身没有影响)

    你可以使用

    sc.setLocalProperty("callSite.short","my job description")
    sc.setLocalProperty("callSite.long","my job details long description")
    

    改为

    How to change job/stage description in web UI? 对于一些屏幕截图和 scala 语法

    【讨论】:

    • 感谢您的回答!您的回答是否也意味着我们应该更喜欢c.setLocalProperty 而不是sc.setJobGroup?如果是这样,我将向未来的读者指出您的答案。我目前没有在 apache-spark 上工作,如果你在,你可能会说 :)
    • 如何在 Zeppelin 中为 %sql 段落启用相同的功能?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-05
    • 2021-02-24
    相关资源
    最近更新 更多