官方spark文档只提供 spark-submit
将代码部署到spark群集的方法。它提到我们必须在kubernetesapi服务器的地址前面加上前缀 k8s://
. 通过spark操作符部署时应该怎么做?
例如,如果我有一个基本的pyspark应用程序,它是这样启动的,那么如何设置主程序:
from pyspark import SparkConf, SparkContext
from pyspark.sql import SQLContext
from pyspark.sql.types import *
from pyspark import SparkConf, SparkContext
sc = SparkContext("local", "Big data App")
spark = SQLContext(sc)
spark_conf = SparkConf().setMaster('local').setAppName('app_name')
给你 local
,如果我在非k8的集群上运行,我会用 spark://
前缀或 yarn
. 我必须也使用 k8s://
如果通过spark操作符部署,则使用前缀?如果不是,主参数应该使用什么?
1条答案
按热度按时间50pmv0ei1#
最好不要用
setMaster
但在通过spark submit运行代码时指定它,类似于这样(有关详细信息,请参阅文档):我没有使用spark操作符,但是它应该自动设置master,正如我从文档中了解的那样。
您还需要获取以下代码:
更现代(见文件):
作为
SQLContext
已弃用。p、 我建议您阅读《learning spark》的第一章,该书可从databricks网站免费获得。