从0到1介绍一下开源大数据比对平台dataCompare

简介: 从0到1介绍一下开源大数据比对平台dataCompare

1.背景&现状

在大数据领域也已经工作了多年,无论所待过的大公司还是小公司,都会遇到集群升级迁移过程中据搬迁等相关工作,经常会碰到搬迁之后,搬迁的数据是不是能对的上呢?两边数据究竟是不是一致的呢?如果不一致,那又有哪些差异呢?能不能更快地找到差异解决问题呢?

之前经常每个开发的同学自己写一些SQL 脚本进行去比对的,而且也没有一个评估标准。这样的话效率比较低下。

其实在《阿里巴巴大数据之路》这本其实有提到这样一个平台,但是由于没有对外使用,所以书中介绍比较简单。因此根据以往的工作经历,开发了一个大数据比对平台,用来辅助验证数据,命名为dataCompare。

主要解决如下几个问题:

(1)验证数据、数据比对,浪费极大的人力成本,一张表数据从对比数据到找差异数据可能要花1-2小时时间,如果再乘以表的数量,时间成本基本上就是2H*N(N为表的数量)

(2)没有一套标准,验证的结果难以评估,每个对比的同学对比标准也不支持,有的可能看看数据量对上就行了,但是其实数据并不一定能对的上

(3)经常是写一大段复杂的SQL,通过查看SQL运行的结果来进行判断是否有问题,通常还需要去调试SQL保证SQL能正常运行

2.目标

为了解决上述问题因此开发了一个大数据对比平台——dataCompare

(1)采用界面交互、勾选的方式或者低代码的方式即可实现自动化数据校验对比,避免复杂SQL调试

(2)建立一套统一的数据校验标准,避免不同开发同学选取的标准不一致,比如:量级对比、一致性对比

(3)提升数据团队的验数比对效率,至少提升50%左右

3.系统核心功能介绍

目前dataCompare 已经完成了如下功能:

(1)界面级交互数据对比任务配置,低代码少量配置快速生成对比任务

(2)量级对比、一致性对比、自动化差异case发现

(3)目前已经支持MySQL、Hive、Doris 等JDBC 数据库

对比流程如下:

(1)新建库信息

(2)选择需要对比数据信息

(3)执行对比任务

(4)差异发现

自动筛选出差异case,便于排查问题

4.系统架构设计

前端主要是针对数据校验对比选择表和字段,生成校验任务。

后端主要是采用spring boot、Mybatis 将前端的配置数据写入MySQL表里,然后启动MapReduce或者Spark 任务来进行校验,目前支持的引擎包括:MapReduce、Spark,数据存储包括:HDFS、Hive等,后续考虑扩展更多的数据引擎和存储引擎。

5.系统功能演示

(1)主页

(2)数据库配置页

(3)对比信息配置

(4)对比结果展示

(5)差异case自动发现

6.后续规划

(1)陌生表数据探测,包括:枚举值探测、范围值探测、主键hash 探测

(2)对比任务定时自动调度,对比结果报告自动发送至邮箱等多个渠道

(3)异源数据对比,目前本项目已经实现了同源数据对比功能,后续考虑扩展异源项目对比

7.核心代码开源

https://github.com/zhugezifang/dataCompare

https://gitee.com/ZhuGeZiFang/data-compare


相关实践学习
简单用户画像分析
本场景主要介绍基于海量日志数据进行简单用户画像分析为背景,如何通过使用DataWorks完成数据采集 、加工数据、配置数据质量监控和数据可视化展现等任务。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps 
相关文章
|
1月前
|
SQL 存储 监控
构建端到端的开源现代数据平台
构建端到端的开源现代数据平台
49 4
|
2月前
|
监控 物联网 大数据
智慧工地管理平台系统源码基于物联网、云计算、大数据等技术
智慧工地平台APP通过对施工过程人机料法环的全面感知、互联互通、智能协同,提高施工现场的生产效率、管理水平和决策能力,实现施工管理的数字化、智能化、精益化。
51 0
|
3月前
|
SQL 分布式计算 HIVE
开源湖仓一体平台(二):Arctic(上篇)
开源湖仓一体平台(二):Arctic(上篇)
开源湖仓一体平台(二):Arctic(上篇)
|
3月前
|
SQL 消息中间件 分布式计算
开源湖仓一体平台(一):LakeSoul
开源湖仓一体平台(一):LakeSoul
|
4月前
|
SQL 存储 大数据
从0到1介绍一下开源大数据服务平台dataService
从0到1介绍一下开源大数据服务平台dataService
99 1
|
2月前
|
分布式计算 DataWorks IDE
MaxCompute数据问题之忽略脏数据如何解决
MaxCompute数据包含存储在MaxCompute服务中的表、分区以及其他数据结构;本合集将提供MaxCompute数据的管理和优化指南,以及数据操作中的常见问题和解决策略。
45 0
|
2月前
|
SQL 存储 分布式计算
MaxCompute问题之下载数据如何解决
MaxCompute数据包含存储在MaxCompute服务中的表、分区以及其他数据结构;本合集将提供MaxCompute数据的管理和优化指南,以及数据操作中的常见问题和解决策略。
35 0
|
2月前
|
分布式计算 关系型数据库 MySQL
MaxCompute问题之数据归属分区如何解决
MaxCompute数据包含存储在MaxCompute服务中的表、分区以及其他数据结构;本合集将提供MaxCompute数据的管理和优化指南,以及数据操作中的常见问题和解决策略。
31 0
|
2月前
|
分布式计算 DataWorks BI
MaxCompute数据问题之运行报错如何解决
MaxCompute数据包含存储在MaxCompute服务中的表、分区以及其他数据结构;本合集将提供MaxCompute数据的管理和优化指南,以及数据操作中的常见问题和解决策略。
34 1
|
2月前
|
分布式计算 关系型数据库 数据库连接
MaxCompute数据问题之数据迁移如何解决
MaxCompute数据包含存储在MaxCompute服务中的表、分区以及其他数据结构;本合集将提供MaxCompute数据的管理和优化指南,以及数据操作中的常见问题和解决策略。
28 0

热门文章

最新文章