2015-12-09 4 views
0

Я пытаюсь зарегистрировать свойства для каждого приложения Spark, которые работают в одном кластере пряжи (такие свойства, как spark.shuffle.compress, spark.reducer.maxMbInFlight, spark.executor.instances и т. Д.).Свойства конфигурации искробезопасности

Однако я не знаю, зарегистрирована ли эта информация в любом месте. Я знаю, что мы можем получить доступ к журналам пряжи через команду «пряжа», но свойства, о которых я говорю, там не хранятся.

Есть ли в любом случае доступ к этому виду информации ?. Идея состоит в том, чтобы иметь следы всех приложений, которые запускаются в кластере, вместе со своими свойствами, чтобы определить, какие из них оказывают наибольшее влияние на время их выполнения.

ответ

0

Вы можете сделать это самостоятельно ... использовать sc.getConf.toDebugString, sqlContext.getConf("") или sqlContext.getAllConfs.

scala> sqlContext.getConf("spark.sql.shuffle.partitions") 
res129: String = 200 

scala> sqlContext.getAllConfs 
res130: scala.collection.immutable.Map[String,String] = Map(hive.server2.thrift.http.cookie.is.httponly -> true, dfs.namenode.resource.check.interval .... 

scala> sc.getConf.toDebugString 
res132: String = 
spark.app.id=local-1449607289874 
spark.app.name=Spark shell 
spark.driver.host=10.5.10.153 

Edit: Тем не менее, я не мог найти свойства, указанные среди свойств в 1200 + sqlContext.getAllConfs :(В противном случае документация говорит:

Применение веб-интерфейс по адресу: //: 4040 перечисляет свойства Spark на вкладке «Окружающая среда». Это полезное место, чтобы убедиться, что правильно настроены ваши свойства. Обратите внимание, что только значения явно указаны через spark-defaults.conf, SparkConf, илиПоявится командная строка. Для всех других свойств конфигурации вы можете использовать значение по умолчанию .

+0

Меня больше интересуют свойства контекста sc. Что касается свойств, о которых я говорю, вы можете предоставить их либо в файле конфигурации, когда вы запускаете приложение через spark-submit или через контекст. Дело в том, что я не думаю, что они зарегистрированы в любом месте, и мне, вероятно, придется выяснить, как их собрать. – Brandon

+0

Да. Не все конфиги находятся в объекте SparkConf или любой другой объект conf в этом отношении. Например, 'spark.executor.instances' не находится в объекте SparkConf. Если вы не укажете его как свой вариант, он не будет определен как ключ в SparkConf. Когда он используется внутри исходного кода Spark, он проверяется на наличие, а затем получает значение по умолчанию, например [в этой строке] (https://github.com/apache/spark/blob/master/core/src/main/scala/ орг/Apache/искровым/Util/Utils.scala # L2186). – KrisP

 Смежные вопросы

  • Нет связанных вопросов^_^