python循环调度kettle作业

24 篇文章 1 订阅

python在windows上调用 kettle

需求:当前job只能一次跑一天程序,想着用python写个循环,然后一次性跑一个月的数据。

原理是python调用cmd

cmd = 'kitchen.bat -rep=kettle_repo -user=admin -pass=admin -dir=/job -job=material_inventory "-param:t_date=\'2018-01-01\'" -level=Error' 
os.system(cmd)

rep为资源库
dir为目录
job为任务名
param为参数

由于这个job每次只能跑一天的数据,一次次的输参数很麻烦,所以这里用python写个时间循环,来调用kettle.

整体代码如下

import os, datetime
import pandas as pd
start = '2018-11-01'
end = (datetime.datetime.now()-datetime.timedelta(days=1)).strftime('%Y-%m-%d')
date_start = datetime.datetime.strptime(start, '%Y-%m-%d')
date_end = datetime.datetime.strptime(end, '%Y-%m-%d')
for i in pd.date_range(datestart, dateend):
    cmd = 'kitchen.bat -rep=yao -user=admin -pass=admin -dir=/job -job=material_inventory "-param:t_date=\'%s\'" -level=Error' % (i)
    os.system(cmd)
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
kettle作业可以通过两种常用的定时调度方法来实现。一种方法是通过编写脚本,并使用定时任务来触发作业的执行。这种方法可以并发执行同一个或多个作业,运行稳定,抗干扰能力强。然而,它可能会占用太多的kettle缓存,导致作业运行失败的问题。所以在不考虑小问题的情况下,推荐使用这种方式。\[2\] 另一种方法是使用kettle自带的作业调度功能。通过设置定时脚本,可以方便地实现kettle作业的定时调度。在这种方法中,你需要确保已经搭建好了kettle环境和SQL Server环境。一旦准备就绪,你可以直接进入设置定时脚本的步骤,从而实现kettle作业的定时调度。\[3\] #### 引用[.reference_title] - *1* *2* [kettle开发篇-作业调度-Day8](https://blog.csdn.net/qq_29061315/article/details/129401261)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [Kettle定时任务调度](https://blog.csdn.net/nanyangnongye/article/details/122042744)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值