python跨库检查数据一致性的示例分析


python跨库检查数据一致性的示例分析,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。因为最近上线了samza实时流平台,实时从源数据端实时传输数据到数据仓库,于是就需要检查samza数据传输的准确性,则通过下面的python脚本定时检查两个数据端表的行数,以简单的检测下数据一致性。下面的脚本每天在早上6点运行,检查昨天以前的所有数据行数是否一致,并邮件通知。因为要检测的表比较多,并且清洗规则不一致,所以只能一张表一张表的进行比较,下面只是脚本的部分代码#coding=utf-8importMySQLdb
importpsycopg2
importsmtplib
importtime
fromemail.mime.textimportMIMEText

#通用的邮件函数
defmail(sub,content):
mailto_list=[“hzwuj@tairanchina.com”]
mail_host=”smtp.tairanchina.com”
mail_uer=”trcloud@tairanchina.com”
mail_pass=”r!dHE#3OAGs5TGeh”
message=MIMEText(content,_charset=’utf-8′)
message[‘Subject’ 香港云主机]=sub
message[‘From’]=mail_uer
message[‘To’]=”;”.join(mailto_list)
try:
s=smtplib.SMTP()
s.connect(mail_host)
s.login(mail_uer,mail_pass)
s.sendmail(mail_uer,mailto_list,message.as_string())
s.close()
returnTrue
exceptException:
print’filed’
returnFalse
#设置变量为今天的日期
datetime=time.strftime(“%Y%m%d”,time.localtime())

#从源数据库mysql去得出清洗后的总条数
conn=MySQLdb.connect(host=’115.231.97.10′,port=3306,user=’select’,passwd=’123456′,db=’cms’)
cursor1=conn.cursor(cursorclass=MySQLdb.cursors.DictCursor)
cursor1.execute(“select’biz_account’astablename,count(*)assumfrombiz_accountwheredel_flag=’0’anddate(create_date) rows1=cursor1.fetchall()

forlist1inrows1:
sum1=list1[‘sum’] tablename1=list1[‘tablename’]
#从数据库仓库greenplum从获取samza清洗后的表总行数
conn2=psycopg2.connect(database=”dw”,user=”admin”,password=”123456″,host=”172.30.248.24″,port=”5432″)
cursor2=conn2.cursor()
cursor2.execute(“select’dw_biz_account’astablename,count(*)assumfromdw.dw_biz_accountwherecreate_day rows2=cursor2.fetchall()

forlist2inrows2:
sum2=list2[1]
tablename2=list2[0]
#总条数比较
ifsum1!=sum2:
mail(‘数据不一致’,”%s:%s %s:%s”%(tablename1,sum1,tablename2,sum2))else: mail(‘数据一致’,’数据一致’)
conn.close()
conn2.close()关于python跨库检查数据一致性的示例分析问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注开发云行业资讯频道了解更多相关知识。

相关推荐: 如何使用MDK3进行Wi-Fi干扰

如何使用MDK3进行Wi-Fi干扰,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。这些攻击可以使用Kali Linux和无线网络网卡来完成。步骤1:安装MDK3Kali默认包含MDK3,但是如果您未…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 09/03 13:00
下一篇 09/03 13:00

相关推荐