airflow.providers.apache.spark.operators.spark_submit¶
类¶
包装 spark-submit 二进制文件以启动 spark-submit 作业;需要 PATH 中存在 "spark-submit" 二进制文件。 |
模块内容¶
- class airflow.providers.apache.spark.operators.spark_submit.SparkSubmitOperator(*, application='', conf=None, conn_id='spark_default', files=None, py_files=None, archives=None, driver_class_path=None, jars=None, java_class=None, packages=None, exclude_packages=None, repositories=None, total_executor_cores=None, executor_cores=None, executor_memory=None, driver_memory=None, keytab=None, principal=None, proxy_user=None, name='arrow-spark', num_executors=None, status_poll_interval=1, application_args=None, env_vars=None, verbose=False, spark_binary=None, properties_file=None, yarn_queue=None, deploy_mode=None, use_krb5ccache=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]¶
Bases:
airflow.models.BaseOperator
包装 spark-submit 二进制文件以启动 spark-submit 作业;需要 PATH 中存在 "spark-submit" 二进制文件。
另请参阅
有关如何使用此 Operator 的更多信息,请查看指南:SparkSubmitOperator
- 参数:
application (str) – 作为作业提交的应用程序,可以是 jar 或 py 文件。(支持模板)
conf (dict[Any, Any] | None) – 任意 Spark 配置属性。(支持模板)
conn_id (str) – 在 Airflow 管理界面中配置的 spark 连接 ID。当提供了无效的 connection_id 时,将默认为 yarn。
files (str | None) – 将附加文件上传到运行作业的 executor,用逗号分隔。文件将放置在每个 executor 的工作目录中。例如,序列化对象。(支持模板)
py_files (str | None) – 作业使用的附加 python 文件,可以是 .zip, .egg 或 .py 文件。(支持模板)
jars (str | None) – 提交要上传并放置在 driver 和 executor classpath 中的附加 jar 文件。(支持模板)
driver_class_path (str | None) – 附加的、driver 特定的 classpath 设置。(支持模板)
java_class (str | None) – Java 应用程序的主类
packages (str | None) – 要包含在 driver 和 executor classpath 中的 jar 包的 Maven 坐标的逗号分隔列表。(支持模板)
exclude_packages (str | None) – 在解析 'packages' 中提供的依赖项时要排除的 jar 包的 Maven 坐标的逗号分隔列表。(支持模板)
repositories (str | None) – 用于搜索 'packages' 中给定的 Maven 坐标的附加远程仓库的逗号分隔列表
total_executor_cores (int | None) – (仅适用于 Standalone 和 Mesos) 所有 executor 的总核心数 (默认: worker 上所有可用核心)
executor_cores (int | None) – (仅适用于 Standalone 和 YARN) 每个 executor 的核心数 (默认: 2)
executor_memory (str | None) – 每个 executor 的内存 (例如 1000M, 2G) (默认: 1G)
driver_memory (str | None) – 分配给 driver 的内存 (例如 1000M, 2G) (默认: 1G)
keytab (str | None) – 包含 keytab 文件的完整路径。(支持模板)(将覆盖连接的 extra JSON 中定义的任何 keytab)
principal (str | None) – 用于 keytab 的 kerberos principal 名称。(支持模板)(将覆盖连接的 extra JSON 中定义的任何 principal)
proxy_user (str | None) – 提交应用程序时模拟的用户。(支持模板)
name (str) – 作业名称 (默认为 airflow-spark)。(支持模板)
num_executors (int | None) – 要启动的 executor 数量
status_poll_interval (int) – 在集群模式下轮询 driver 状态之间的等待秒数 (默认: 1)
application_args (list[Any] | None) – 提交的应用程序的参数。(支持模板)
env_vars (dict[str, Any] | None) – spark-submit 的环境变量。也支持 yarn 和 k8s 模式。(支持模板)
verbose (bool) – 是否向 spark-submit 进程传递 verbose 标志以进行调试
spark_binary (str | None) – 用于 spark 提交的命令。某些发行版可能使用 spark2-submit 或 spark3-submit。(将覆盖连接的 extra JSON 中定义的任何 spark_binary)
properties_file (str | None) – 从中加载额外属性的文件的路径。如果未指定,将查找 conf/spark-defaults.conf。
yarn_queue (str | None) – 提交应用程序的 YARN 队列名称。(将覆盖连接的 extra JSON 中定义的任何 yarn queue)
deploy_mode (str | None) – 是否将 driver 部署在 worker 节点上 (集群模式) 或本地作为客户端运行。(将覆盖连接的 extra JSON 中定义的任何 deployment mode)
use_krb5ccache (bool) – 如果为 True,配置 spark 使用 ticket 缓存而不是依赖 keytab 进行 Kerberos 登录
- template_fields: collections.abc.Sequence[str] = ('application', 'conf', 'files', 'py_files', 'jars', 'driver_class_path', 'packages',...[source]¶