Używam Spark 2.0 z pySpark.Spark 2.0: Przedefiniowanie parametrów SparkSession przez GetOrCreate i NIE widząc zmian w WebUI
ja redefinicji SparkSession
parametrów poprzez GetOrCreate
metody, która została wprowadzona w wersji 2.0:
Ta metoda sprawdza najpierw, czy istnieje ważny globalny domyślny SparkSession, a jeśli tak, powrót tego. Jeśli nie istnieje ważna globalna wartość domyślna SparkSession, metoda tworzy nową SparkSession i przypisuje nowo utworzoną SparkSession jako globalną wartość domyślną.
Jeśli zostanie zwrócona istniejąca sesja SparkSession, opcje konfiguracji określone w tym programie budującym zostaną zastosowane do istniejącej wersji SparkSession.
tej pory tak dobrze:
from pyspark import SparkConf
SparkConf().toDebugString()
'spark.app.name=pyspark-shell\nspark.master=local[2]\nspark.submit.deployMode=client'
spark.conf.get("spark.app.name")
'pyspark-shell'
Potem przedefiniować SparkSession
config z obietnicą, aby zobaczyć zmiany w WebUI
appName (nazwa)
Zestawy nazwa aplikacji, która pojawi się w interfejsie internetowym Spark.
c = SparkConf()
(c
.setAppName("MyApp")
.setMaster("local")
.set("spark.driver.memory","1g")
)
from pyspark.sql import SparkSession
(SparkSession
.builder
.enableHiveSupport() # metastore, serdes, Hive udf
.config(conf=c)
.getOrCreate())
spark.conf.get("spark.app.name")
'MyApp'
Teraz, kiedy idę do localhost:4040
, chciałbym się spodziewać MyApp
jako nazwa aplikacji.
jednak wciąż widzę pyspark-shell application UI
Jeżeli się mylę?
Z góry dziękuję!