【发布时间】:2016-11-20 07:00:55
【问题描述】:
我正在使用带有 PySpark 的 Spark 2.0。
我正在通过 2.0 中引入的 GetOrCreate 方法重新定义 SparkSession 参数:
此方法首先检查是否存在有效的全局默认 SparkSession,如果有,则返回那个。如果不存在有效的全局默认 SparkSession,则该方法创建一个新的 SparkSession 并将新创建的 SparkSession 分配为全局默认值。
如果返回现有的 SparkSession,此构建器中指定的配置选项将应用于现有的 SparkSession。
到目前为止一切顺利:
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'
然后我重新定义 SparkSession 配置,承诺查看 WebUI 的变化
应用程序名称(名称)
设置应用程序的名称,该名称将显示在 Spark Web UI 中。
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'
现在,当我转到 localhost:4040 时,我希望看到 MyApp 作为应用名称。
不过,我还是看到了pyspark-shell application UI
我哪里错了?
提前致谢!
【问题讨论】:
标签: apache-spark pyspark apache-spark-sql pyspark-sql