这两天接到一客户的需求为接入数据源,同时当设置的条件达到时进行提醒,并记录所有提醒时间节点。
条件中有一个关键点:不是即时数据之间的比较,而是即时数据与刚入库的数据之间的比较,满足条件时和不满足条件的情况全部要记录标注出来。
了解足球数据变化之快的会知道,数据源接收入库时,几十场乃至上百场比赛数据、累计几千家公司的数据同步更新入库,为了数据比较,需要将数据流拆分,此时读取过往入库数据与即时数据进行比较,速度肯定不行甚至宕机。为此,我采用数据表的形式来处理即时数据的前后变化,在表中进行比较判断,再决定入库字段,这样速度提升几千倍是有的,问题得到完美解决。
information = pd.Dataframe(columns=['X1','Y1','Z1','X2','Y2','Z2','conditon_parameter']) #构造表,需要入库的参数分为前后两类 if KKK not in information.index: #最开始数据填表 information.at[index, 'X1'] = x information.at[index, 'Y1'] = y information.at[index, 'Z1'] = z information.at[index, 'X2'] = x information.at[index, 'Y2'] = y information.at[index, 'Z2'] = z do elif condition_1(x,y,z): #表内比较并入库 information.at[index, 'X1'] = information.at[index, 'X2'] information.at[index, 'Y1'] = information.at[index, 'Y2'] information.at[index, 'Z1'] = information.at[index, 'Z2'] information.at[index, 'X2'] = x information.at[index, 'Y2'] = y information.at[index, 'Z2'] = z if condition1: if conditon2: do elif conditon3: do else: do update1= "UPDATE XXX=%s where ZZZ " cur.execute(update1) dbconn.commit()
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)