【问题标题】:Getting app run id for a Spark job获取 Spark 作业的应用运行 ID
【发布时间】:2017-10-26 18:28:08
【问题描述】:

我想从我运行 Spark 作业的位置获取该作业的唯一 ID。

通过 Spark 主节点网站,我可以看到该 ID。是这样的:

ID: app-20140429125304-0452

在创建正在运行的作业时,有什么方法可以得到这个?也许通过 SparkContext?

【问题讨论】:

    标签: apache-spark


    【解决方案1】:

    是的,正如你所说:

    sc.applicationId
    res0: String = app-20150224184813-11531
    

    (这是火花 1.2)

    上查看 API 文档

    【讨论】:

    • pyspark 1.3 没有sc.applicationId
    • 太棒了,谢谢。在上下文中,我认为我使用的 Spark 版本没有这个 - 很高兴他们添加了它!
    • 但是Java版缺少这个?
    【解决方案2】:

    对于那些使用 pyspark 的人,请参阅这个几乎相同的问题:How to extract application ID from the PySpark context

    @vvladymyrov 的回答对我在 yarn-client 模式下运行 pyspark 很有用。

    >>> sc._jsc.sc().applicationId()
    u'application_1433865536131_34483'
    

    【讨论】:

      【解决方案3】:

      在使用 Spark 2.0+ 时引入了spark: org.apache.spark.sql.SparkSession

      scala> spark.sparkContext.applicationId
      res1: String = app-20170228091742-0025
      

      【讨论】:

        【解决方案4】:

        【讨论】:

          猜你喜欢
          • 2014-06-15
          • 2016-11-09
          • 1970-01-01
          • 1970-01-01
          • 2015-08-03
          • 1970-01-01
          • 2022-08-16
          • 2021-11-17
          • 2020-01-22
          相关资源
          最近更新 更多