airflow.providers.amazon.aws.hooks.glue¶
属性¶
类¶
与 AWS Glue 交互。 |
|
与 AWS Glue Data Quality 交互。 |
模块内容¶
- class airflow.providers.amazon.aws.hooks.glue.GlueJobHook(s3_bucket=None, job_name=None, desc=None, concurrent_run_limit=1, script_location=None, retry_limit=0, num_of_dpus=None, iam_role_name=None, iam_role_arn=None, create_job_kwargs=None, update_config=False, job_poll_interval=6, *args, **kwargs)[source]¶
基类:
airflow.providers.amazon.aws.hooks.base_aws.AwsBaseHook
与 AWS Glue 交互。
提供围绕
boto3.client("glue")
的厚封装。- 参数:
s3_bucket (str | None) – 用于上传日志和本地 ETL 脚本的 S3 存储桶
job_name (str | None) – 每个 AWS 账户唯一的作业名称
desc (str | None) – 作业描述
concurrent_run_limit (int) – 作业允许的最大并发运行数
script_location (str | None) – S3 上 ETL 脚本的路径
retry_limit (int) – 作业失败时最大重试次数
region_name – AWS 区域名称(示例:us-east-1)
iam_role_name (str | None) – 用于 Glue 作业执行的 AWS IAM 角色。如果设置,iam_role_arn 必须为 None。
iam_role_arn (str | None) – 用于 Glue 作业执行的 AWS IAM Role ARN,如果设置,iam_role_name 必须为 None。
create_job_kwargs (dict | None) – 创建 Glue 作业的额外参数
update_config (bool) – 更新 Glue 上的作业配置(默认值:False)
可以指定其他参数(例如
aws_conn_id
)并传递给底层的 AwsBaseHook。- list_jobs()[source]¶
获取作业列表。
自版本 - 起已弃用:请改用
describe_jobs()
。
- async async_get_job_state(job_name, run_id)[source]¶
获取 Glue 作业的状态;作业状态可以是运行中、已完成、失败、已停止或超时。
get_job_state 的异步版本。
- print_job_logs(job_name, run_id, continuation_tokens)[source]¶
将最新的作业日志打印到 Airflow 任务日志中,并更新续传令牌。
- 参数:
continuation_tokens (LogContinuationTokens) – 读取日志时恢复的令牌。该对象会通过此方法使用新的令牌进行更新。
- job_completion(job_name, run_id, verbose=False, sleep_before_return=0)[source]¶
等待作业名称为
job_name
的 Glue 作业完成;如果已完成则返回最终状态,否则引发 AirflowException。
- async async_job_completion(job_name, run_id, verbose=False)[source]¶
等待作业名称为
job_name
的 Glue 作业完成;如果已完成则返回最终状态,否则引发 AirflowException。
- has_job(job_name)[source]¶
检查作业是否已存在。
- 参数:
job_name – 每个 AWS 账户唯一的作业名称
- 返回:
如果作业已存在则返回 True,否则返回 False。
- 返回类型:
- class airflow.providers.amazon.aws.hooks.glue.GlueDataQualityHook(*args, **kwargs)[source]¶
基类:
airflow.providers.amazon.aws.hooks.base_aws.AwsBaseHook
与 AWS Glue Data Quality 交互。
提供围绕
boto3.client("glue")
的厚封装。可以指定其他参数(例如
aws_conn_id
)并传递给底层的 AwsBaseHook。