airflow.providers.amazon.aws.operators.glue
¶
模块内容¶
类¶
创建 AWS Glue 作业。 |
|
使用应用于指定 Glue 表的 DQDL 规则创建数据质量规则集。 |
|
针对数据源(Glue 表)评估规则集。 |
|
启动推荐运行,用于生成规则,Glue 数据质量分析数据并提出潜在规则集的建议。 |
- class airflow.providers.amazon.aws.operators.glue.GlueJobOperator(*, job_name='aws_glue_default_job', job_desc='AWS Glue Job with Airflow', script_location=None, concurrent_run_limit=None, script_args=None, retry_limit=0, num_of_dpus=None, aws_conn_id='aws_default', region_name=None, s3_bucket=None, iam_role_name=None, iam_role_arn=None, create_job_kwargs=None, run_job_kwargs=None, wait_for_completion=True, deferrable=conf.getboolean('operators', 'default_deferrable', fallback=False), verbose=False, replace_script_file=False, update_config=False, job_poll_interval=6, stop_job_run_on_kill=False, sleep_before_return=0, **kwargs)[source]¶
基类:
airflow.models.BaseOperator
创建 AWS Glue 作业。
AWS Glue 是一种无服务器的 Spark ETL 服务,用于在 AWS 云上运行 Spark 作业。语言支持:Python 和 Scala。
另请参阅
有关如何使用此操作符的更多信息,请查看指南:提交 AWS Glue 作业
- 参数
job_name (str) – 每个 AWS 账户唯一的作业名称
script_location (str | None) – ETL 脚本的位置。必须是本地或 S3 路径
job_desc (str) – 作业描述详细信息
concurrent_run_limit (int | None) – 允许作业同时运行的最大次数
script_args (dict | None) – ETL 脚本参数和 AWS Glue 参数(已模板化)
retry_limit (int) – 如果作业失败,重试的最大次数
num_of_dpus (int | float | None) – 要分配给此作业的 AWS Glue DPU 数量。
region_name (str | None) – AWS 区域名称(例如:us-east-1)
s3_bucket (str | None) – S3 存储桶,其中将上传日志和本地 ETL 脚本
iam_role_name (str | None) – 用于 Glue 作业执行的 AWS IAM 角色。如果设置了 iam_role_arn,则必须等于 None。
iam_role_arn (str | None) – 用于 Glue 作业执行的 AWS IAM ARN。如果设置了 iam_role_name,则必须等于 None。
create_job_kwargs (dict | None) – 用于 Glue 作业创建的额外参数
run_job_kwargs (dict | None) – 用于 Glue 作业运行的额外参数
wait_for_completion (bool) – 是否等待作业运行完成。(默认:True)
deferrable (bool) – 如果为 True,则操作符将异步等待作业完成。这意味着等待完成。此模式需要安装 aiobotocore 模块。(默认:False)
verbose (bool) – 如果为 True,则 Glue 作业运行日志将显示在 Airflow 任务日志中。(默认:False)
update_config (bool) – 如果为 True,则操作符将更新作业配置。(默认:False)
replace_script_file (bool) – 如果为 True,则 S3 中的脚本文件将被替换。(默认:False)
stop_job_run_on_kill (bool) – 如果为 True,则在任务被终止时,操作符将停止作业运行。
sleep_before_return (int) – 返回最终状态之前等待的秒数。这在限制并发的情况下有意义,Glue 需要 5-10 秒才能清理资源。因此,如果立即返回状态,则可能会导致超过 1 个并发运行的情况。建议在使用 concurrency=1 时将此参数设置为 10。有关更多信息,请参见:https://repost.aws/questions/QUaKgpLBMPSGWO0iq2Fob_bw/glue-run-concurrent-jobs#ANFpCL2fRnQRqgDFuIU_rpvA
- template_fields: collections.abc.Sequence[str] = ('job_name', 'script_location', 'script_args', 'create_job_kwargs', 's3_bucket',...[source]¶
- template_ext: collections.abc.Sequence[str] = ()[source]¶
- class airflow.providers.amazon.aws.operators.glue.GlueDataQualityOperator(*, name, ruleset, description='AWS Glue 数据 质量 规则集 与 Airflow', update_rule_set=False, data_quality_ruleset_kwargs=None, aws_conn_id='aws_default', **kwargs)[source]¶
基类:
airflow.providers.amazon.aws.operators.base_aws.AwsBaseOperator
[airflow.providers.amazon.aws.hooks.glue.GlueDataQualityHook
]使用应用于指定 Glue 表的 DQDL 规则创建数据质量规则集。
另请参阅
有关如何使用此运算符的更多信息,请查看指南:创建 AWS Glue 数据质量
- 参数
name (str) – 数据质量规则集的唯一名称。
ruleset (str) – 数据质量定义语言 (DQDL) 规则集。有关更多信息,请参阅 Glue 开发人员指南。
description (str) – 数据质量规则集的描述。
update_rule_set (bool) – 要更新现有规则集,请将此标志设置为 True。(默认值:False)
data_quality_ruleset_kwargs (dict | None) – RuleSet 的额外参数。
aws_conn_id (str | None) – 用于 AWS 凭证的 Airflow 连接。如果此值是
None
或为空,则使用默认的 boto3 行为。如果在分布式环境中运行 Airflow 且 aws_conn_id 为 None 或为空,则将使用默认的 boto3 配置(并且必须在每个工作节点上维护)。region_name – AWS 区域名称。如果未指定,则使用默认的 boto3 行为。
verify – 是否验证 SSL 证书。请参阅:https://boto3.amazonaws.com/v1/documentation/api/latest/reference/core/session.html
botocore_config – botocore 客户端的配置字典(键值对)。请参阅:https://botocore.amazonaws.com/v1/documentation/api/latest/reference/config.html
- template_fields: collections.abc.Sequence[str] = ('name', 'ruleset', 'description', 'data_quality_ruleset_kwargs')[source]¶
- class airflow.providers.amazon.aws.operators.glue.GlueDataQualityRuleSetEvaluationRunOperator(*, datasource, role, rule_set_names, number_of_workers=5, timeout=2880, verify_result_status=True, show_results=True, rule_set_evaluation_run_kwargs=None, wait_for_completion=True, waiter_delay=60, waiter_max_attempts=20, deferrable=conf.getboolean('operators', 'default_deferrable', fallback=False), aws_conn_id='aws_default', **kwargs)[source]¶
基类:
airflow.providers.amazon.aws.operators.base_aws.AwsBaseOperator
[airflow.providers.amazon.aws.hooks.glue.GlueDataQualityHook
]针对数据源(Glue 表)评估规则集。
另请参阅
有关如何使用此运算符的更多信息,请查看指南:启动 AWS Glue 数据质量评估运行
- 参数
datasource (dict) – 与此运行关联的数据源(Glue 表)。(已模板化)
role (str) – 为作业执行提供的 IAM 角色。(已模板化)
rule_set_names (list[str]) – 用于评估的规则集名称列表。(已模板化)
number_of_workers (int) – 运行中使用的 G.1X worker 的数量。(默认值:5)
timeout (int) – 运行的超时时间,以分钟为单位。 这是运行在终止并进入 TIMEOUT 状态之前可以消耗资源的最长时间。(默认值:2,880)
verify_result_status (bool) – 验证所有规则集规则评估的运行结果。如果任何规则的状态为 Fail 或 Error,则会抛出异常。(默认值:True)
show_results (bool) – 显示所有规则集规则评估的运行结果。(默认值:True)
rule_set_evaluation_run_kwargs (dict[str, Any] | None) – 用于评估运行的额外参数。(可模板化)
wait_for_completion (bool) – 是否等待作业停止。(默认值:True)
waiter_delay (int) – 状态检查之间等待的时间,以秒为单位。(默认值:60)
waiter_max_attempts (int) – 检查作业完成的最大尝试次数。(默认值:20)
deferrable (bool) – 如果为 True,则操作符将异步等待作业停止。 这意味着等待完成。 此模式需要安装 aiobotocore 模块。(默认值:False)
aws_conn_id (str | None) – 用于 AWS 凭证的 Airflow 连接。如果此值是
None
或为空,则使用默认的 boto3 行为。如果在分布式环境中运行 Airflow 且 aws_conn_id 为 None 或为空,则将使用默认的 boto3 配置(并且必须在每个工作节点上维护)。region_name – AWS 区域名称。如果未指定,则使用默认的 boto3 行为。
verify – 是否验证 SSL 证书。请参阅:https://boto3.amazonaws.com/v1/documentation/api/latest/reference/core/session.html
botocore_config – botocore 客户端的配置字典(键值对)。请参阅:https://botocore.amazonaws.com/v1/documentation/api/latest/reference/config.html
- template_fields: collections.abc.Sequence[str] = ('datasource', 'role', 'rule_set_names', 'rule_set_evaluation_run_kwargs')[source]¶
- class airflow.providers.amazon.aws.operators.glue.GlueDataQualityRuleRecommendationRunOperator(*, datasource, role, number_of_workers=5, timeout=2880, show_results=True, recommendation_run_kwargs=None, wait_for_completion=True, waiter_delay=60, waiter_max_attempts=20, deferrable=conf.getboolean('operators', 'default_deferrable', fallback=False), aws_conn_id='aws_default', **kwargs)[source]¶
基类:
airflow.providers.amazon.aws.operators.base_aws.AwsBaseOperator
[airflow.providers.amazon.aws.hooks.glue.GlueDataQualityHook
]启动推荐运行,用于生成规则,Glue 数据质量分析数据并提出潜在规则集的建议。
推荐运行会在 90 天后自动删除。
另请参阅
有关如何使用此操作符的更多信息,请查看本指南: 启动 AWS Glue 数据质量推荐运行
- 参数
datasource (dict) – 与此运行关联的数据源(Glue 表)。(已模板化)
role (str) – 为作业执行提供的 IAM 角色。(已模板化)
number_of_workers (int) – 运行中使用的 G.1X worker 的数量。(默认值:5)
timeout (int) – 运行的超时时间,以分钟为单位。 这是运行在终止并进入 TIMEOUT 状态之前可以消耗资源的最长时间。(默认值:2,880)
show_results (bool) – 当推荐运行完成时,显示推荐的规则集(一组规则)。(默认值:True)
recommendation_run_kwargs (dict[str, Any] | None) – 用于推荐运行的额外参数。(可模板化)
wait_for_completion (bool) – 是否等待作业停止。(默认值:True)
waiter_delay (int) – 状态检查之间等待的时间,以秒为单位。(默认值:60)
waiter_max_attempts (int) – 检查作业完成的最大尝试次数。(默认值:20)
deferrable (bool) – 如果为 True,则操作符将异步等待作业停止。 这意味着等待完成。 此模式需要安装 aiobotocore 模块。(默认值:False)
aws_conn_id (str | None) – 用于 AWS 凭证的 Airflow 连接。如果此值是
None
或为空,则使用默认的 boto3 行为。如果在分布式环境中运行 Airflow 且 aws_conn_id 为 None 或为空,则将使用默认的 boto3 配置(并且必须在每个工作节点上维护)。region_name – AWS 区域名称。如果未指定,则使用默认的 boto3 行为。
verify – 是否验证 SSL 证书。请参阅:https://boto3.amazonaws.com/v1/documentation/api/latest/reference/core/session.html
botocore_config – botocore 客户端的配置字典(键值对)。请参阅:https://botocore.amazonaws.com/v1/documentation/api/latest/reference/config.html
- template_fields: collections.abc.Sequence[str] = ('datasource', 'role', 'recommendation_run_kwargs')[source]¶