gpt4 book ai didi

apache-spark - PySpark SparkSession Builder 与 Kubernetes Master

转载 作者:行者123 更新时间:2023-12-04 05:29:13 33 4
gpt4 key购买 nike

最近看到一个pull request已合并到 Apache/Spark 存储库,该存储库显然为 K8s 上的 PySpark 添加了初始 Python 绑定(bind)。我向 PR 发表了一条评论,询问有关如何在 Python Jupyter 笔记本中使用 spark-on-k8s 的问题,并被告知在这里问我的问题。

我的问题是:

有没有办法使用 PySpark 的 SparkSession.Builder 创建 SparkContexts?主设置为 k8s://<...>:<...> ,并让生成的作业在 spark-on-k8s 上运行, 而不是 local ?

例如。:

from pyspark.sql import SparkSession
spark = SparkSession.builder.master('k8s://https://kubernetes:443').getOrCreate()

我有一个在 Kubernetes pod 内运行的交互式 Jupyter 笔记本,我正在尝试使用 PySpark 创建一个 SparkContext在 spark-on-k8s 上运行,而不是使用 local[*]master .

到目前为止,我一直收到一条错误消息:

Error: Python applications are currently not supported for Kubernetes.



每当我设置 masterk8s://<...> .

PySpark 似乎总是在 client 中运行模式, spark-on-k8s 似乎不支持目前 - 也许有一些我不知道的解决方法。

提前致谢!

最佳答案

pyspark 客户端模式适用于 Spark 的最新版本 2.4.0

这就是我的做法(在 Jupyter 实验室中):

import os
os.environ['PYSPARK_PYTHON']="/usr/bin/python3.6"
os.environ['PYSPARK_DRIVER_PYTHON']="/usr/bin/python3.6"

from pyspark import SparkContext, SparkConf
from pyspark.sql import SparkSession

sparkConf = SparkConf()
sparkConf.setMaster("k8s://https://localhost:6443")
sparkConf.setAppName("KUBERNETES-IS-AWESOME")
sparkConf.set("spark.kubernetes.container.image", "robot108/spark-py:latest")
sparkConf.set("spark.kubernetes.namespace", "playground")

spark = SparkSession.builder.config(conf=sparkConf).getOrCreate()
sc = spark.sparkContext

注意:我在 Mac 上使用 Docker Desktop 在本地运行 kubernetes。

关于apache-spark - PySpark SparkSession Builder 与 Kubernetes Master,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50862204/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com