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]¶