airflow.providers.apache.spark.operators.spark_sql

SparkSqlOperator

执行 Spark SQL 查询。

模块内容

airflow.providers.apache.spark.operators.spark_sql.SparkSqlOperator(*, sql, conf=None, conn_id='spark_sql_default', total_executor_cores=None, executor_cores=None, executor_memory=None, keytab=None, principal=None, master=None, name='default-name', num_executors=None, verbose=True, yarn_queue=None, **kwargs)[源码]

基类: airflow.models.BaseOperator

执行 Spark SQL 查询。

另请参阅

有关如何使用此算子的更多信息,请参阅指南:SparkSqlOperator

参数:
  • sql (str) – 要执行的 SQL 查询。(模板化)

  • conf (dict[str, Any] | str | None) – 任意 Spark 配置属性

  • conn_id (str) – 连接 ID 字符串

  • total_executor_cores (int | None) – (仅限于 Standalone 和 Mesos)所有执行器使用的总核心数(默认值:worker 上所有可用的核心数)

  • executor_cores (int | None) – (仅限于 Standalone 和 YARN)每个执行器的核心数(默认值:2)

  • executor_memory (str | None) – 每个执行器的内存(例如 1000M, 2G)(默认值:1G)

  • keytab (str | None) – 包含 keytab 文件的完整路径

  • master (str | None) – spark://host:port, mesos://host:port, yarn 或 local(默认值:连接中设置的 hostport,或 "yarn"

  • name (str) – 作业名称

  • num_executors (int | None) – 启动的执行器数量

  • verbose (bool) – 是否将 verbose 标志传递给 spark-sql

  • yarn_queue (str | None) – 要提交到的 YARN 队列(默认值:连接中设置的 queue 值,或 "default"

template_fields: collections.abc.Sequence[str] = ('sql',)[源码]
template_ext: collections.abc.Sequence[str] = ('.sql', '.hql')[源码]
template_fields_renderers[源码]
sql[源码]
execute(context)[源码]

调用 SparkSqlHook 运行提供的 SQL 查询。

on_kill()[源码]

重写此方法可在任务实例被杀死时清理子进程。

在算子中使用 threading、subprocess 或 multiprocessing 模块的任何地方都需要进行清理,否则会留下僵尸进程。

此条目有用吗?