airflow.providers.apache.spark.hooks.spark_submit
¶
模块内容¶
类¶
封装 spark-submit 二进制文件以启动 spark-submit 作业;需要在 PATH 中有 “spark-submit” 二进制文件。 |
属性¶
- class airflow.providers.apache.spark.hooks.spark_submit.SparkSubmitHook(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='default-name', 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)[源代码]¶
基类:
airflow.hooks.base.BaseHook
,airflow.utils.log.logging_mixin.LoggingMixin
封装 spark-submit 二进制文件以启动 spark-submit 作业;需要在 PATH 中有 “spark-submit” 二进制文件。
- 参数
conf (dict[str, Any] | None) – 任意 Spark 配置属性
spark_conn_id – 在 Airflow 管理中配置的spark 连接 ID。当提供无效的 connection_id 时,它将默认为 yarn。
files (str | None) – 上传其他文件到运行作业的执行器,以逗号分隔。文件将放置在每个执行器的工作目录中。例如,序列化对象。
py_files (str | None) – 作业使用的其他 python 文件,可以是 .zip、.egg 或 .py。
archives (str | None) – Spark 应该解压缩(并可能用 #ALIAS 标记)到应用程序工作目录的存档。
driver_class_path (str | None) – 额外的驱动程序特定的 classpath 设置。
jars (str | None) – 提交要上传的其他 jar 并将其放置在执行器 classpath 中。
java_class (str | None) – Java 应用程序的主类
packages (str | None) – 要包含在驱动程序和执行器 classpath 中的 jar 的 maven 坐标的逗号分隔列表
exclude_packages (str | None) – 在解析“packages”中提供的依赖项时要排除的 jar 的 maven 坐标的逗号分隔列表
repositories (str | None) – 用于搜索“packages”中给出的 maven 坐标的其他远程存储库的逗号分隔列表
total_executor_cores (int | None) –(仅限 Standalone 和 Mesos)所有执行器的总核心数(默认值:工作节点上的所有可用核心)
executor_cores (int | None) –(仅限 Standalone、YARN 和 Kubernetes)每个执行器的核心数(默认值:2)
executor_memory (str | None) – 每个执行器的内存(例如 1000M、2G)(默认值:1G)
driver_memory (str | None) – 分配给驱动程序的内存(例如 1000M、2G)(默认值:1G)
keytab (str | None) – 包含 keytab 的文件的完整路径(将覆盖连接的额外 JSON 中定义的任何 keytab)
principal (str | None) – 用于 keytab 的 kerberos principal 的名称(将覆盖连接的额外 JSON 中定义的任何 principal)
proxy_user (str | None) – 提交应用程序时要模拟的用户
name (str) – 作业名称(默认 airflow-spark)
num_executors (int | None) – 要启动的执行器数量
status_poll_interval (int) – 在集群模式下轮询驱动程序状态之间等待的秒数(默认值:1)
application_args (list[Any] | None) – 要提交的应用程序的参数
env_vars (dict[str, Any] | None) – spark-submit 的环境变量。它也支持 yarn 和 k8s 模式。
verbose (bool) – 是否将 verbose 标志传递给 spark-submit 进程进行调试
spark_binary (str | None) – 用于 spark 提交的命令。某些发行版可能使用 spark2-submit 或 spark3-submit。(将覆盖连接的额外 JSON 中定义的任何 spark_binary)
properties_file (str | None) – 用于加载额外属性的文件的路径。如果未指定,则将查找 conf/spark-defaults.conf。
yarn_queue (str | None) – 应用程序提交到的 YARN 队列的名称。(将覆盖连接的额外 JSON 中定义的任何 yarn 队列)
deploy_mode (str | None) – 是否将驱动程序部署在工作节点(集群)上,还是作为客户端在本地部署。(将覆盖连接的额外 JSON 中定义的任何部署模式)
use_krb5ccache (bool) – 如果为 True,则配置 Spark 使用票证缓存而不是依赖 keytab 进行 Kerberos 登录