2014-04-30 23 views
13

Tôi muốn, từ nơi tôi chạy công việc Spark, để lấy id duy nhất của công việc đó.Nhận id chạy ứng dụng cho công việc Spark

Qua trang web nút chính Spark, tôi có thể thấy id đó. Đó là một cái gì đó như:

ID: app-20140429125304-0452 

Có cách nào để có được điều này, khi tạo một chạy một công việc? Có thể thông qua SparkContext?

Trả lời

11

vâng, đúng như bạn nói:

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

(Đây là châm ngòi 1.2)

Xem API doc tại

+1

pyspark 1.3 không có 'sc.applicationId' – sds

+0

Tuyệt vời, cảm ơn. Tôi không nghĩ rằng phiên bản của Spark tôi đã có này, trên bối cảnh - rất vui vì họ đã thêm nó! – Greg

+0

Nhưng phiên bản Java thiếu phiên bản này? –

4

Đối với những người sử dụng pyspark, xem câu hỏi gần giống hệt này: How to extract application ID from the PySpark context

Câu trả lời từ @vvladymyrov đã giúp tôi chạy pyspark ở chế độ sợi-khách.

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

Với sự ra đời của spark: org.apache.spark.sql.SparkSession từ Spark 2.0+ về sử dụng

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

Nó phụ thuộc vào ngôn ngữ mà bạn đang sử dụng.

Scala

https://spark.apache.org/docs/1.6.1/api/scala/index.html#org.apache.spark.SparkContext

sc.applicationId 

Java

https://spark.apache.org/docs/1.6.2/api/java/org/apache/spark/api/java/JavaSparkContext.html

sparkContext.sc().applicationId(); 

Python

http://spark.apache.org/docs/1.6.2/api/python/pyspark.html#pyspark.SparkContext

sc.applicationId 

Nó cũng có thể phụ thuộc vào phiên bản Spark.

Các vấn đề liên quan