python - 如何在气流中基于另一个 AWS-glue 任务成功完成在气流中启动 python 操作员 boto3 AWS-glue 任务?
问题描述
我的 Ariflow 脚本有几个任务,使用 python 运算符来使用 boto3 启动胶水作业。即使流程取决于 Ariflow 中的每个任务。连续的任务不会等到前一个任务成功完成。
一旦调用了前一个粘合作业任务,就会调用下一个粘合作业任务。最后,即使 Airflow 看起来成功完成,胶水作业仍在运行几分钟。
from airflow import DAG
from airflow.operators.python_operator import PythonOperator
from datetime import datetime, timedelta
from airflow.operators.sensors import TimeDeltaSensor
import boto3
import json
default_args = {
'owner': 'SAM',
'start_date': datetime(2019, 5, 27)
}
glue_client = boto3.client('glue', region_name='us-east-1')
def run_customer_job():
glue_client.start_job_run(JobName='customer')
def run_product_job():
glue_client.start_job_run(JobName='product')
with DAG('dataload', default_args=default_args, schedule_interval="0 15 * * *") as dag:
task1 = PythonOperator(task_id='task1',
python_callable=run_customer_job)
task2 = PythonOperator(task_id='task2',
python_callable=run_product_job)
task1 >> task2
解决方案
推荐阅读
- firebase - Firestore 规则:已达到最多 1000 个要评估的表达式
- node.js - 文件上传完成后node.js内存不足
- javascript - 当网格上方的内容被隐藏时,如何向上滑动网格?
- javascript - 不使用 jQuery 以编程方式控制 Select2
- python - 从提交中获取 GitHub 存储库 URL
- r - 使用 lapply 在函数内设置数据框名称
- angular - 如果我想从编辑中禁用特定行,但不在 ng2 智能表中显示编辑/删除按钮怎么办
- powerbi - 使用安全嵌入选项将 Power BI 报表嵌入到 Web 应用程序时如何从报表中删除登录页面
- bash - 如果存在多个文件
- ios - 在objective-c模块中使用swift时无法构建Objective-C模块