Github user vanzin commented on a diff in the pull request:
https://github.com/apache/spark/pull/20669#discussion_r174636337
--- Diff:
resource-managers/kubernetes/core/src/main/scala/org/apache/spark/deploy/k8s/submit/KubernetesClientApplication.scala
---
@@ -180,6 +184,31 @@ private[spark] class Client(
originalMetadata.setOwnerReferences(Collections.singletonList(driverPodOwnerReference))
}
}
+
+ // Build a Config Map that will house both the properties and the java
options in a single file
+ private def buildConfigMap(
+ configMapName: String,
+ conf: SparkConf,
+ driverJavaOps: String): ConfigMap = {
+ val properties = new Properties()
+ conf
+ .remove(org.apache.spark.internal.config.DRIVER_JAVA_OPTIONS)
+ .getAll.foreach { case (k, v) =>
+ properties.setProperty(k, v)
+ }
+ val propertiesWriter = new StringWriter()
+ properties.store(propertiesWriter,
+ s"Java properties built from Kubernetes config map with name:
$configMapName")
+
+ val namespace = conf.get(KUBERNETES_NAMESPACE)
+ new ConfigMapBuilder()
+ .withNewMetadata()
+ .withName(configMapName)
+ .withNamespace(namespace)
+ .endMetadata()
+ .addToData(SPARK_CONF_FILE_NAME, propertiesWriter.toString +
driverJavaOps)
--- End diff --
Why does it have to be on the command line and not in the properties file?
---
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]