赞
踩
1.本人比较小白,第一次做大数据测试,也是第一学习python,很多简单的方法都不会,用的都是最土的办法,仅供入门级别的人使用
2.链接好hive数据库后,想做做个就简单的数据diff,因为测试BI有对标数据,所以需要比较数据是否一直,尤其是数据量大的时候,hive执行的速度超级慢,后续想加入多线程,这样sql的比较就会快很多
3.代码如下:
from impala.dbapi import connect
def queryFromHs2(sql):
##数据库信息配置
conn = connect(host='127.0.0.1', port=10000, database='aa', user='***', password='***', auth_mechanism='PLAIN')
##链接数据库
cur = conn.cursor()
cur.execute(sql)
rows = cur.fetchall()
##解析结果
##结果解析为二维数组
rows_list = []
for row in rows:
row_list = []
for column in row:
row_list.append(column)
rows_list.append(row_list)
##二维数组,转为一维,取第一列
column_list = [i[0] for i in rows_list]
return column_list
if __name__ == '__main__':
column_list1 = queryFromHs2('sql1')
column_list2 = queryFromHs2('sql2')
for i in range(len(column_list1)):
if column_list1[i] == column_list2[i]:
print(column_list1[i]+"--"+column_list2[i]+"--"+"true")
else:
print(column_list1[i]+"--"+column_list2[i]+"--"+"false")
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。