首页 > 其他分享 >数据校验_TEST

数据校验_TEST

时间:2024-02-28 11:01:08浏览次数:25  
标签:target data db 校验 source TEST table config 数据

import pandas as pd
import pymysql

# 数据库连接信息
source_db_config = {
    'host': 'source_db_host',
    'user': 'source_db_user',
    'password': 'source_db_password',
    'database': 'source_db_name',
}

target_db_config = {
    'host': 'target_db_host',
    'user': 'target_db_user',
    'password': 'target_db_password',
    'database': 'target_db_name',
}

# 表和字段映射关系
table_mapping = {
    'source_table1': 'target_table1',
    'source_table2': 'target_table2',
}

field_mapping = {
    'source_table1': {'field1': 'target_field1', 'field2': 'target_field2'},
    'source_table2': {'field3': 'target_field3', 'field4': 'target_field4'},
}

def fetch_data_from_db(config, table, fields):
    connection = pymysql.connect(**config)
    query = f"SELECT {', '.join(fields)} FROM {table}"
    df = pd.read_sql(query, connection)
    connection.close()
    return df

def main():
    for source_table, target_table in table_mapping.items():
        source_fields = list(field_mapping[source_table].keys())
        target_fields = list(field_mapping[source_table].values())

        # 从源数据库获取数据
        source_data = fetch_data_from_db(source_db_config, source_table, source_fields)

        # 从目标数据库获取数据
        target_data = fetch_data_from_db(target_db_config, target_table, target_fields)

        # 进行数据比较
        if source_data.equals(target_data):
            print(f"数据校验通过: {source_table} 和 {target_table}")
        else:
            print(f"数据校验失败: {source_table} 和 {target_table}")

if __name__ == "__main__":
    main()

 

标签:target,data,db,校验,source,TEST,table,config,数据
From: https://www.cnblogs.com/gina11/p/18039317

相关文章

  • 级课堂测试试卷—数据同步练习
    石家庄铁道大学2024年春季  2022级课堂测试试卷—数据同步练习课程名称: 大数据库技术与应用  任课教师:王建民  考试时间: 120分钟  一、 数据结构分析:(1)京津冀三省的2015年度的科技成果数据原始表,为Access数据库,; (2)要求将三省的科技成果数据汇总到同一表中(要......
  • SpringBoot 1x 系列之(五)SpringBoot与数据访问
    SpringBoot与数据访问JDBC、MyBatis、SpringDataJPASpringBoot底层是使用的SpringData作为数据访问的默认处理方式。1.整合基本JDBC与数据源Pom依赖<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-jdbc</artifactId><......
  • 奇门排盘 api数据接口
    奇门遁甲,奇门遁甲是中国古代的一种术数,它融合了天文学、历法学、战争学、谋略学和哲学等多个领域的知识。奇门遁甲的占测主要分为天、门、地三盘,象征三才。天盘上有九星,中盘有八宫(中宫寄二宫)布八门,地盘上有八个方位,代表静止不动的元素。根据具体时日,以六仪、三奇、八门、九星排局,......
  • DBeaver 配置postgresSQL离线驱动(全)ps:其他数据库同理
    原文地址:https://blog.csdn.net/wulala517/article/details/1305831931.首先在一台可联网的机器上打开db,在这儿获取驱动作为离线驱动包。依次点击数据库-驱动管理器;搜索框输入你需要修改离线驱动的数据库,我是pg库,以下以pg库为例,输入postgres,左键单击postgresSQL,后点击编辑; 2.......
  • 数据结构【线段树】
    对于一个数据结构而言,我们总要能对其进行两件事:修改和操作。操作在这里是一个专有名词,专门指代求最值、求和等操作,具体能指代什么操作之后再聊。 如果朴素的用数组进行存储,那么修改是O(1)的,而操作往往是O(n)的。当操作指的是求和的时候,我们可以使用前缀和算法,前缀和使得操作是O(......
  • 气象数据调研总结
    1.判断是否为中文defis_chinese(char):if'\u4e00'<=char<='\u9fff':returnTrueelse:returnFalse2.逆地理编码---百度地图AK=''lat=df['LATITUDE'].values[0]lon=df['LONGITUDE']......
  • ssts-hospital-web-master项目实战记录二十七:项目迁移-Vue项目与模型数据有关的问题
    记录时间:2024-02-28一、准备工作【使用“文心一言”搜索】Vue项目,推荐与模型数据有关的问题当然,以下是与Vue项目中模型数据相关的一些推荐问题:模型数据应该存储在哪里?考虑到数据的大小、敏感性和使用频率,我应该将模型数据存储在客户端、服务器端还是两者都存储?对于存储在......
  • 在K8S中,etcd数据库中数据如何更改?
    在Kubernetes(K8s)中,etcd中的数据更改主要发生在以下几个场景中:创建、更新和删除Kubernetes资源对象:当用户在Kubernetes中创建(POST)、更新(PUT)或删除(DELETE)一个资源对象(如Pod、Service、Deployment等)时,KubernetesAPI服务器会将这些更改转换为对etcd的相应操作。API服务器会将更改......
  • 在K8S中,etcd是什么类型数据库?
    在Kubernetes(K8s)中,etcd是一个高度可靠、分布式的键值存储数据库,用于存储集群的共享配置和服务发现信息。etcd在Kubernetes架构中扮演着核心组件的角色,是集群状态数据的关键存储后端。1.etcd的类型:键值存储(Key-ValueStore):etcd最基本的功能是作为键值存储,它允许用户存储和......
  • 数据库
    关系型数据库mysql索引笔记sql练习一sql练习二groupby的解析非关系型数据库Redis使用规范ELKMongoDB......