FROM keshavbaweja/spark:2.4.4-hadoop2.7
WORKDIR /opt/spark/myapp
COPY ./target/myapp-*-deploy.zip .
RUN unzip myapp-*-deploy.zip -d .
RUN rm ./myapp-*-deploy.zip
WORKDIR /opt/spark/work-dir
/apps/spark-2.4.4-bin-hadoop2.7/bin/spark-submit \
--master <kubernetes-master-url> \
--deploy-mode cluster \
--name <myapp> \
--class <com.baweja.App> \
--conf "spark.driver.extraJavaOptions=-Dmyapp.env.name=k8s" \
--conf spark.kubernetes.container.image=myapp:1.0.0 \
--conf spark.kubernetes.namespace=<namespace> \
--conf spark.kubernetes.driver.volumes.persistentVolumeClaim.myapp-spec-pv.options.claimName=myapp-spec-pvc \
--conf spark.kubernetes.driver.volumes.persistentVolumeClaim.myapp-spec-pv.mount.path=/myapp/folder1 \
--conf spark.kubernetes.driver.volumes.persistentVolumeClaim.myapp-spec-pv.mount.readOnly=false \
--conf spark.kubernetes.executor.volumes.persistentVolumeClaim.myapp-spec-pv.options.claimName=myapp-spec-pvc \
--conf spark.kubernetes.executor.volumes.persistentVolumeClaim.myapp-spec-pv.mount.path=/myapp/folder1 \
--conf spark.kubernetes.executor.volumes.persistentVolumeClaim.myapp-spec-pv.mount.readOnly=false \
local:///opt/spark/myapp/lib/myapp.jar "arg1" "arg2"