airflow.providers.amazon.aws.operators.glue

模块内容

GlueJobOperator

创建 AWS Glue 作业。

GlueDataQualityOperator

使用应用于指定 Glue 表的 DQDL 规则创建数据质量规则集。

GlueDataQualityRuleSetEvaluationRunOperator

针对数据源(Glue 表)评估规则集。

GlueDataQualityRuleRecommendationRunOperator

启动推荐运行,用于生成规则,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]
template_fields_renderers[source]
ui_color = '#ededed'[source]
glue_job_hook()[source]
execute(context)[source]

从 Airflow 执行 AWS Glue 作业。

返回

当前的 Glue 作业 ID。

execute_complete(context, event=None)[source]
on_kill()[source]

取消正在运行的 AWS Glue 作业。

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

aws_hook_class[source]
template_fields: collections.abc.Sequence[str] = ('name', 'ruleset', 'description', 'data_quality_ruleset_kwargs')[source]
template_fields_renderers[source]
ui_color = '#ededed'[source]
validate_inputs()[source]
execute(context)[source]

在创建运算符时派生。

上下文是与呈现 jinja 模板时使用的相同字典。

有关更多上下文,请参阅 get_template_context。

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

aws_hook_class[source]
template_fields: collections.abc.Sequence[str] = ('datasource', 'role', 'rule_set_names', 'rule_set_evaluation_run_kwargs')[source]
template_fields_renderers[source]
ui_color = '#ededed'[source]
validate_inputs()[source]
execute(context)[source]

在创建运算符时派生。

上下文是与呈现 jinja 模板时使用的相同字典。

有关更多上下文,请参阅 get_template_context。

execute_complete(context, event=None)[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

aws_hook_class[source]
template_fields: collections.abc.Sequence[str] = ('datasource', 'role', 'recommendation_run_kwargs')[source]
template_fields_renderers[source]
ui_color = '#ededed'[source]
execute(context)[source]

在创建运算符时派生。

上下文是与呈现 jinja 模板时使用的相同字典。

有关更多上下文,请参阅 get_template_context。

execute_complete(context, event=None)[source]

此条目是否有帮助?