在Dataworks调度里检查上游表的分区是否已经产出

在Dataworks调度里检查上游表的分区是否已经产出


新建PyOdps3节点,贴如如下代码:

import sys
import time
from datetime import datetime

bizdate = args['bizdate']
if not o.exist_table(args['table']):
    sys.exit(1)


# 设置结束时间为今天的20:00
end_time = datetime.now().replace(hour=20, minute=0, second=0, microsecond=0)

table = o.get_table(args['table'])
while True:
    if table.exist_partition('dt=' + bizdate):
        print('partition dt=' + bizdate + ' exists')
        sys.exit(0)
    
    # 检查是否达到结束时间
    if datetime.now() >= end_time:
        print('达到结束时间,退出循环。')
        break
    
    formatted_time = datetime.now().strftime('%H:%M:%S')
    print('[' + formatted_time + '] partition dt=' + bizdate + ' not exists, wait')
    time.sleep(300)  # 300秒 = 5分钟

sys.exit(0)

调度配置里填入如下参数:
调度参数提交任务即可。

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值