airflow.providers.amazon.aws.operators.glue¶
类¶
创建一个 AWS Glue 作业。 |
|
创建一个将 DQDL 规则应用于指定 Glue 表的数据质量规则集。 |
|
针对数据源(Glue 表)评估规则集。 |
|
启动一个用于生成规则的推荐运行,Glue Data Quality 会分析数据并提供潜在规则集的建议。 |
模块内容¶
- 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) – 作业失败时的最大重试次数
region_name (str | None) – AWS 区域名称(例如:us-east-1)
s3_bucket (str | None) – 用于上传日志和本地 etl 脚本的 S3 存储桶
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', 'run_job_kwargs',...[source]¶
- template_ext: collections.abc.Sequence[str] = ()[source]¶
- property glue_job_hook: airflow.providers.amazon.aws.hooks.glue.GlueJobHook[source]¶
- class airflow.providers.amazon.aws.operators.glue.GlueDataQualityOperator(*, name, ruleset, description='AWS Glue Data Quality Rule Set With 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
]创建一个将 DQDL 规则应用于指定 Glue 表的数据质量规则集。
另请参阅
有关如何使用此运算符的更多信息,请参阅指南:创建 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]¶
- 类 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 角色。 (模板化)
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]¶
- 类 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 Data Quality 会分析数据并提供潜在规则集的建议。
建议运行会在 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]¶