比如数据库中存在一些表, 这些表名后缀是按天命名的, 现在需要自动抽取汇总到同一个表中, 这样就需要用到循环抽取 smartpip中已有datax组件, 但只能进行单一表格抽取, 不能增加逻辑 所以我们需要使用到smartpip的diy组件功能 首先我们需要新一个datax抽取任务,在这个任务中我们传递参数ZYM, 比如:
#datax job1 ZYM
之后再新一建一个diy任务, 实现循环抽取:
ZYM = '202001'
def fun_job2():
job = os.path.join(ETL_FILE_PATH , '项目名/job1.sql')
report_time = datetime.date(2022,8,1)
for i in range(600):
zym = report_time.strftime('%Y%m')
print(zym)
if zym < '202001':
break
para_dict = {"ZYM": zym}
run_datax(job, para_dict)
report_time = (report_time - datetime.timedelta(days=1)).replace(day=1)
#diy job2 fun_job2