airflow.providers.apache.livy.operators.livy

此模块包含 Apache Livy 操作符。

LivyOperator

封装 Apache Livy 批处理 REST API,允许向底层集群提交 Spark 应用程序。

模块内容

class airflow.providers.apache.livy.operators.livy.LivyOperator(*, file, class_name=None, args=None, conf=None, jars=None, py_files=None, files=None, driver_memory=None, driver_cores=None, executor_memory=None, executor_cores=None, num_executors=None, archives=None, queue=None, name=None, proxy_user=None, livy_conn_id='livy_default', livy_conn_auth_type=None, livy_endpoint_prefix=None, polling_interval=0, extra_options=None, extra_headers=None, retry_args=None, deferrable=conf.getboolean('operators', 'default_deferrable', fallback=False), openlineage_inject_parent_job_info=conf.getboolean('openlineage', 'spark_inject_parent_job_info', fallback=False), openlineage_inject_transport_info=conf.getboolean('openlineage', 'spark_inject_transport_info', fallback=False), **kwargs)[source]

基类:airflow.models.BaseOperator

封装 Apache Livy 批处理 REST API,允许向底层集群提交 Spark 应用程序。

参数:
  • file (str) – 包含要执行的应用程序的文件路径(必需)。(模板化)

  • class_name (str | None) – 应用程序的 Java/Spark 主类名称。(模板化)

  • args (collections.abc.Sequence[str | int | float] | None) – 应用程序命令行参数。(模板化)

  • jars (collections.abc.Sequence[str] | None) – 此会话中要使用的 jar 包。(模板化)

  • py_files (collections.abc.Sequence[str] | None) – 此会话中要使用的 python 文件。(模板化)

  • files (collections.abc.Sequence[str] | None) – 此会话中要使用的文件。(模板化)

  • driver_memory (str | None) – 驱动进程使用的内存量。(模板化)

  • driver_cores (int | str | None) – 驱动进程使用的核心数。(模板化)

  • executor_memory (str | None) – 每个执行器进程使用的内存量。(模板化)

  • executor_cores (int | str | None) – 每个执行器使用的核心数。(模板化)

  • num_executors (int | str | None) – 此会话要启动的执行器数量。(模板化)

  • archives (collections.abc.Sequence[str] | None) – 此会话中要使用的归档文件。(模板化)

  • queue (str | None) – 提交应用程序的 YARN 队列名称。(模板化)

  • name (str | None) – 此会话的名称。(模板化)

  • conf (dict[Any, Any] | None) – Spark 配置属性。(模板化)

  • proxy_user (str | None) – 运行作业时模拟的用户。(模板化)

  • livy_conn_id (str) – 对预定义 Livy 连接的引用。

  • livy_conn_auth_type (Any | None) – Livy 连接的认证类型。

  • polling_interval (int) – 轮询作业完成之间的时间间隔(秒)。对于小于等于 0 的值不进行轮询

  • extra_options (dict[str, Any] | None) – 一个选项字典,其中键是字符串,值取决于正在修改的选项。

  • extra_headers (dict[str, Any] | None) – 传递给 Livy HTTP 请求的头信息字典。

  • retry_args (dict[str, Any] | None) – 定义重试行为的参数。请参阅 Tenacity 文档: https://github.com/jd/tenacity

  • deferrable (bool) – 在可延迟模式下运行操作符

template_fields: collections.abc.Sequence[str] = ('spark_params',)[source]
template_fields_renderers[source]
spark_params[source]
retry_args = None[source]
deferrable[source]
openlineage_inject_parent_job_info[source]
openlineage_inject_transport_info[source]
property hook: airflow.providers.apache.livy.hooks.livy.LivyHook[source]

获取有效的 Hook。

返回:

LivyHook

返回类型:

airflow.providers.apache.livy.hooks.livy.LivyHook

execute(context)[source]

创建操作符时派生。

Context 与渲染 jinja 模板时使用的字典相同。

有关更多 context,请参阅 get_template_context。

poll_for_termination(batch_id)[source]

轮询 Livy 以检查批处理是否终止。

参数:

batch_id (int | str) – 要监控的批处理会话 ID。

on_kill()[source]

覆盖此方法可在任务实例被终止时清理子进程。

在操作符中使用 threading、subprocess 或 multiprocessing 模块时,需要进行清理,否则会留下僵尸进程。

kill()[source]

删除当前批处理会话。

execute_complete(context, event)[source]

当触发器触发时执行 - 立即返回。

依赖触发器抛出异常,否则假定执行成功。

此条目有帮助吗?