code: def init_spark_on_k8s(
      master,
      container_image,
      conda_name,
      num_executors,
      executor_cores,
      executor_memory="2g",
      driver_memory="2g",
      driver_cores=4,
      extra_executor_memory_for_ray=None,
      extra_python_lib=None,
      penv_archive=None,
      spark_log_level="WARN",
      redirect_spark_log=True,
      jars=None,
      conf=None,
      python_location=None,
  ):
      """
      Create a SparkContext with BigDL configurations on Kubernetes cluster for k8s client
      mode. You are recommended to use the Docker image intelanalytics/bigdl-k8s:latest.
      You can refer to https://github.com/intel-analytics/BigDL/tree/main/docker/bigdl-k8s
      to build your own Docker image.
  
      :param master: The master address of your k8s cluster.
      :param container_image: The name of the docker container image for Spark executors.
             For example, intelanalytics/bigdl-k8s:latest
      :param conda_name: The name of the conda environment.
      :param num_executors: The number of Spark executors.
      :param executor_cores: The number of cores for each executor.
      :param executor_memory: The memory for each executor. Default to be '2g'.
      :param driver_cores: The number of cores for the Spark driver. Default to be 4.
      :param driver_memory: The memory for the Spark driver. Default to be '1g'.
      :param extra_executor_memory_for_ray: The extra memory for Ray services. Default to be None.
      :param extra_python_lib: Extra python files or packages needed for distribution.
             Default to be None.
      :param penv_archive: Ideally, the program would auto-pack the conda environment specified by
             'conda_name', but you can also pass the path to a packed file in "tar.gz" format here.
             Default to be None.
      :param spark_log_level: The log level for Spark. Default to be 'WARN'.
      :param redirect_spark_log: Whether to redirect the Spark log to local file. Default to be True.
      :param jars: Comma-separated list of jars to be included on driver and executor's classpath.
             Default to be None.
      :param conf: You can append extra conf for Spark in key-value format.
             i.e conf={"spark.executor.extraJavaOptions": "-XX:+PrintGCDetails"}.
             Default to be None.
      :param python_location: The path to your running Python executable. If not specified, the
             default Python interpreter in effect would be used.
  
      :return: An instance of SparkContext.
      """
      from bigdl.dllib.utils.spark import SparkRunner
  
      runner = SparkRunner(
          spark_log_level=spark_log_level,
          redirect_spark_log=redirect_spark_log,
      )
      sc = runner.init_spark_on_k8s(
          master=master,
          container_image=container_image,
          conda_name=conda_name,
          num_executors=num_executors,
          executor_cores=executor_cores,
          executor_memory=executor_memory,
          driver_memory=driver_memory,
          driver_cores=driver_cores,
          extra_executor_memory_for_ray=extra_executor_memory_for_ray,
          extra_python_lib=extra_python_lib,
          penv_archive=penv_archive,
          jars=jars,
          conf=conf,
          python_location=python_location,
      )
      return sc
  
imports: from bigdl.dllib.utils.common import *
  from bigdl.dllib.utils.file_utils import callZooFunc
  from bigdl.dllib.utils.utils import set_python_home
  from bigdl.dllib.utils.log4Error import *
  import warnings
  import multiprocessing
  import os
  import threading
  import sys
label_desc: Use image node_id 5 for calling a global function with example usage: init_spark_on_k8s(master, container_image, conda_name, num_executors, executor_cores, executor_memory, driver_memory, driver_cores, extra_executor_memory_for_ray, extra_python_lib, penv_archive, spark_log_level, redirect_spark_log, jars, conf, python_location) and returns: sc