class_docstr: Execute Spark SQL query.
  
  .. seealso::
      For more information on how to use this operator, take a look at the guide:
      :ref:`howto/operator:SparkSqlOperator`
  
  :param sql: The SQL query to execute. (templated)
  :param conf: arbitrary Spark configuration property
  :param conn_id: connection_id string
  :param total_executor_cores: (Standalone & Mesos only) Total cores for all
      executors (Default: all the available cores on the worker)
  :param executor_cores: (Standalone & YARN only) Number of cores per
      executor (Default: 2)
  :param executor_memory: Memory per executor (e.g. 1000M, 2G) (Default: 1G)
  :param keytab: Full path to the file that contains the keytab
  :param master: spark://host:port, mesos://host:port, yarn, or local
      (Default: The ``host`` and ``port`` set in the Connection, or ``"yarn"``)
  :param name: Name of the job
  :param num_executors: Number of executors to launch
  :param verbose: Whether to pass the verbose flag to spark-sql
  :param yarn_queue: The YARN queue to submit to
      (Default: The ``queue`` value set in the Connection, or ``"default"``)
code: def on_kill(self) -> None:
      if self._hook is None:
          self._hook = self._get_hook()
      self._hook.kill()
  
file_path: airflow/airflow/providers/apache/spark/operators/spark_sql.py
imports: from __future__ import annotations
  from typing import TYPE_CHECKING, Any, Sequence
  from airflow.models import BaseOperator
  from airflow.providers.apache.spark.hooks.spark_sql import SparkSqlHook
label_desc: Use image node_id 3 for calling the SparkSqlOperator obj's underlying member method code with example usage: obj.on_kill() without return types