亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

python跨庫檢查數據一致性的示例分析

發布時間:2021-12-04 18:02:34 來源:億速云 閱讀:152 作者:柒染 欄目:大數據

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跨庫檢查數據一致性的示例分析問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業資訊頻道了解更多相關知識。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

宣汉县| 阿坝| 巴林右旗| 江华| 施秉县| 台东县| 周宁县| 溆浦县| 东乌| 台湾省| 哈巴河县| 赤城县| 宜兰县| 陇川县| 水城县| 泰和县| 遵化市| 武隆县| 团风县| 乐陵市| 隆化县| 忻城县| 东至县| 贵州省| 晋中市| 临颍县| 托里县| 大田县| 郁南县| 共和县| 浙江省| 奉新县| 商丘市| 胶州市| 株洲县| 方城县| 江门市| 浪卡子县| 固阳县| 沈阳市| 绍兴市|