千家信息网

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

发表于:2025-01-25 作者:千家信息网编辑
千家信息网最后更新 2025年01月25日,python跨库检查数据一致性的示例分析,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。因为最近上线了samza实时流平台,实时从源数
千家信息网最后更新 2025年01月25日python跨库检查数据一致性的示例分析

python跨库检查数据一致性的示例分析,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

因为最近上线了samza实时流平台,实时从源数据端实时传输数据到数据仓库,于是就需要检查samza数据传输的准确性,则通过下面的python脚本定时检查两个数据端表的行数,以简单的检测下数据一致性。下面的脚本每天在早上6点运行,检查昨天以前的所有数据行数是否一致,并邮件通知。因为要检测的表比较多,并且清洗规则不一致,所以只能一张表一张表的进行比较,下面只是脚本的部分代码

#coding=utf-8

import MySQLdb
import psycopg2
import smtplib
import time
from email.mime.text import MIMEText

#通用的邮件函数

def mail(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()
return True
except Exception:
print 'filed'
return False


#设置变量为今天的日期
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' as tablename,count(*) as sum from biz_account where del_flag='0' and date(create_date)<%s" % datetime)
rows1=cursor1.fetchall()

for list1 in rows1:
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' as tablename,count(*) as sum from dw.dw_biz_account where create_day<'%s'" % datetime )
rows2=cursor2.fetchall()

for list2 in rows2:
sum2=list2[1]
tablename2=list2[0]

#总条数比较
if sum1!=sum2:
mail('数据不一致',"%s:%s %s:%s"%(tablename1,sum1,tablename2,sum2))

else:

mail('数据一致','数据一致')


conn.close()
conn2.close()

关于python跨库检查数据一致性的示例分析问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注行业资讯频道了解更多相关知识。

数据 一致 检查 一致性 分析 实时 脚本 问题 清洗 示例 仓库 数据库 更多 邮件 面的 传输 帮助 检测 解答 易行 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 雪花算法生成id并插入数据库 网络安全厂商销售 北邮网研网络安全中心 北京华居天下网络技术世联行 普陀区电商软件开发销售方法 有关网络安全的宣传视频 网络安全法将放大招 网络安全与执法专业开设课程 专注于软件开发的大v 我的世界服务器密室杀手怎么进去 宏名网络技术有限公司 智慧树数据库原理及应用章节答案 采购数据库图表 迈克生物软件开发怎么样 猫王互联网科技贴吧 邢台专业软件开发多少钱 河南光猫服务器域名虚拟主机 游戏服务器cpu哪个好 网络技术手段解决问题 文档排版软件开发 软件开发是男孩多吗 济南中裕网络技术有限公司 中国电视剧排行榜数据库 软件开发编码的软件测试是 读取数据库表里的内容 交通行业网络安全防护方案 初中生学习网络安全的手抄报 宝显网络技术 复旦大学关于网络安全的专业 天津精选labview软件开发
0