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) – (仅限独立和 Mesos) 所有执行器的总核心数(默认值:worker 上的所有可用核心)

  • executor_cores (int | None) – (仅限独立和 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"

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 作业。

此条目是否有帮助?