我最近看到一个pull请求被合并到Apache/Spark存储库,显然在K8s上添加了PySpark的初始Python绑定.我在PR上发布了一条评论,询问如何在Python Jupyter笔记本中使用spark-on-k8s,并被告知在这里问我的问题.
我的问题是:
有没有办法使用PySpark的SparkSession.Buildermaster设置为创建SparkContexts k8s://<...>:<...>,并让生成的作业运行spark-on-k8s,而不是local?
例如:
from pyspark.sql import SparkSession
spark = SparkSession.builder.master('k8s://https://kubernetes:443').getOrCreate()
Run Code Online (Sandbox Code Playgroud)
我有一个在Kubernetes pod中运行的交互式Jupyter笔记本,我正在尝试使用PySpark创建一个SparkContext在spark-on-k8上运行而不是使用local[*]as master.
直到现在,我一直在收到错误说:
错误:Kubernetes目前不支持Python应用程序.
每当我设置master为k8s://<...>.
似乎PySpark总是在client模式下运行,目前似乎不支持spark-on-k8s- 也许有一些我不知道的解决方法.
提前致谢!