airflow.providers.apache.spark.hooks.spark_sql

SparkSqlHook

此 Hook 是 spark-sql 二进制文件的包装器;要求“spark-sql”二进制文件位于 PATH 中。

模块内容

class airflow.providers.apache.spark.hooks.spark_sql.SparkSqlHook(sql, conf=None, conn_id=default_conn_name, 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)[source]

基类: airflow.hooks.base.BaseHook

此 Hook 是 spark-sql 二进制文件的包装器;要求“spark-sql”二进制文件位于 PATH 中。

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

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

  • conn_id (str) – connection_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(默认:Connection 中设置的 host 和 port,或“yarn”)

  • name (str) – 作业名称。

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

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

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

conn_name_attr = 'conn_id'[source]
default_conn_name = 'spark_sql_default'[source]
conn_type = 'spark_sql'[source]
hook_name = 'Spark SQL'[source]
classmethod get_ui_field_behaviour()[source]

返回 Spark SQL 连接的自定义 UI 字段行为。

classmethod get_connection_form_widgets()[source]

返回要添加到 Spark SQL 连接表单的连接小部件。

get_conn()[source]

返回此 Hook 的连接。

run_query(cmd='', **kwargs)[source]

远程 Popen(实际执行 Spark-sql 查询)。

参数:
  • cmd (str) – 要附加到 spark-sql 命令的命令

  • kwargs (Any) – 传递给 Popen 的额外参数(参见 subprocess.Popen)

kill()[source]

终止 Spark 作业。

此条目有帮助吗?