apache-spark - 如何在 pyspark 中启动 SparkSession

标签 apache-spark pyspark apache-spark-sql

我想更改 Spark session 的默认内存、执行器和核心设置。 Jupyter 中 HDInsight 集群上的 pyspark 笔记本中的第一个代码如下所示:

from pyspark.sql import SparkSession

spark = SparkSession\
    .builder\
    .appName("Juanita_Smith")\
    .config("spark.executor.instances", "2")\
    .config("spark.executor.cores", "2")\
    .config("spark.executor.memory", "2g")\
    .config("spark.driver.memory", "2g")\
    .getOrCreate()

完成后,我读回参数,看起来该语句有效 enter image description here

但是,如果我查看 yarn ,该设置确实不起作用。

enter image description here

enter image description here

我需要进行哪些设置或命令才能使 session 配置生效?

感谢您提前提供帮助

最佳答案

当你的笔记本内核启动时,SparkSession已使用内核配置文件中定义的参数创建。要更改此设置,您需要更新或替换内核配置文件,我相信该文件通常位于类似 <jupyter home>/kernels/<kernel name>/kernel.json 的位置。 .

更新

如果您有权访问托管 Jupyter 服务器的计算机,则可以使用 jupyter kernelspec list 查找当前内核配置的位置。 。然后,您可以编辑 pyspark 内核配置之一,或将其复制到新文件并进行编辑。出于您的目的,您需要将以下参数添加到 PYSPARK_SUBMIT_ARGS :

"PYSPARK_SUBMIT_ARGS": "--conf spark.executor.instances=2 --conf spark.executor.cores=2 --conf spark.executor.memory=2g --conf spark.driver.memory=2g"

关于apache-spark - 如何在 pyspark 中启动 SparkSession,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45235515/

相关文章:

apache-spark - Spark Streaming Kafka createDirectStream - Spark UI 将输入事件大小显示为零

sbt - 如何使用 sbt-assembly 和 sbt-native-packager 构建 deb 包以包含单个程序集 jar?

scala - scala spark中的值和列操作,如何使用带有spark列的运算符左侧的值?

python - 如何按天聚合多列 [Pyspark]?

dataframe - PySpark 只保留日期中的年份和月份

python - Py4JException : Constructor org. apache.spark.sql.SparkSession([class org.apache.spark.SparkContext, class java.util.HashMap]) 不存在

hadoop - Spark 和 HCatalog?

python - 在 Pyspark 中过滤具有空数组的列

python - PySpark dataframe - 如何将字符串变量传递给 df.where() 条件

apache-spark - ORC 文件上的 Spark SQL 不返回正确的架构(列名)