创建主设置为k8s的SparkSession

时间:2019-11-20 17:57:49

标签: apache-spark kubernetes

为K8上的Spark制作POC(Spark版本2.4.4)。

我能够使用spark-submit来调用spark作业:

The method add(int, Booking) in the type List<Booking> is not applicable for the arguments (int, String, int)

尝试使用SparkSession构建器以编程方式执行相同操作。

bin/spark-submit --master k8s://https://localhost:8443 --deploy-mode cluster --conf spark.executor.instances=5 --conf spark.kubernetes.authenticate.driver.serviceAccountName=spark --conf spark.kubernetes.container.image=liranbo/k8s-test4:latest --class org.apache.spark.examples.SparkPi --name spark-pi local:///opt/spark/examples/jars/spark-examples_2.11-2.4.4.jar 40

我收到以下异常

SparkSession.builder().appName(appName).master("k8s://https://localhost:8443")

使用SparkSession时是否可以将主URL设置为K8s?如果没有,为什么Spark-Submit支持?

顺便说一句:我能够使用SparkLauncher以编程方式启动该应用程序,但这不是我追求的解决方案。

我在sparkPy中看到了一个(可能的)工作示例。

1 个答案:

答案 0 :(得分:0)

以防万一有人遇到相同的问题-该问题与缺少的jar有关。添加以下内容:

    <dependency>
        <groupId>org.apache.spark</groupId>
        <artifactId>spark-kubernetes_${scala.version}</artifactId>
        <version>${spark.version}</version>
    </dependency>