dataCompare核心功能之数据探针

简介: dataCompare核心功能之数据探针

1.数据探针产生的背景:

数据开发和接入的过程中,数据开发人员接到一个需求或者一条新的业务线可能需要搭建数仓,做数据处理,然后提供一些指标数据给到需求方,如果是你这边会怎么开始呢?

直接开干?抽表,清洗,分层,建模?

然后发现做完之后,怎么数据各种不对,取不到想要的数据,比如说:业务上说明明一个字段为空比例非常少(1%以内),但是加工出来的数据问题非常多?比如说:空值占比接近30%,然后报表显示的结果就各种问题,然后又往上排查发现,原来是别人提供的数据,或者采集的数据有问题

所以一上来开干,这就是瞎搞。啥也不知道不了解的情况下,对数据源一无所知的情况下,是谁给你勇气直接开干的?干完之后返工成本更大

2.正常的数据开发流程:

接到新的数据需求或者任务的时候,最开始应该需要做一下数据调研,即数据探查(也就是标题上提的数据探针),发现数据潜在的问题。

那数据探针到底要探测哪些内容呢?

3.现状

大多数数据开发人员的处理方法:写大量的sql

比如:

总行数据:select count(*) from table_name;

枚举值:select table_column,count(*) as cnt from table_name group by table_column

等等

4.数据探针

(1)低代码、少量配置即可实现探查任务

(2)将数据探测标准化,避免不同的数据开发人员采用不同的探测标准,做标准统一

(3)快速完成数据探测:30秒完成探测任务配置,2分钟出探测结果

5.功能演示

探测任务配置

探测结果详情

探测代码模板

//主键探测模板
public static final String mainTemplateSql = "select count(distinct column) as distinct_cnt," +
            "count(*) as cnt" +
            " from tableName filter";
//空值探测模板
    public static final String emptyTemplateSql = "select count(*) as cnt,column_dict from (\n" +
            "select *,\n" +
            "case when column is null then 0\n" +
            "else 1\n" +
            "end as column_dict\n" +
            "from tableName\n" +
            "filter\n" +
            ")t group by column_dict;";
//枚举值探测模板
    public static final String enumTemplateSql = "select * from (\n" +
            "select count(*) as cnt,column\n" +
            "from tableName\n" +
            "filter\n" +
            "group by column\n" +
            ")t order by cnt desc limit 50;";
//字段长度探测模板
    public static final String lengthTemplateSql = "select len,count(*) as cnt from (\n" +
            "select *,length(column) as len from tableName filter\n" +
            ")t group by len;";
//探测信息配置
String tableName = "";
String mainField = "";
String emptyFields = "";
String enumFields = "";
String lengthFields = "";
String filter = "";


目录
打赏
0
0
0
0
8
分享
相关文章
数据分析之「数据探查」—帮您快速掌握数据情报
为了帮助用户一眼看穿当前数据的质量、结构、分布、统计信息,Dataworks数据分析系统提供了数据探查这个情报管家。它支持探查概览、支持探查详情、支持数据筛选、支持数据刷新、支持数据分布直方图动态装箱和多级下钻!我们会在电子表格顶部以图形和富文本的形式,智能展示每列数据类型和值分布的概览情况;同时,也支持切换到详细模式,查看更多更全面的数据信息。
4462 0
K8s查看集群 状态事件描述以及Pod日志信息
K8s查看集群 状态事件描述以及Pod日志信息
405 3
ZeroShell防火墙存在远程命令执行漏洞(CVE-2019-12725)
zeroshell防火墙存在远程命令执行漏洞,攻击者可通过特定URL链接对目标进行攻击!!!
2025 1
关于标签管理系统
原文地址:关于标签管理系统作者: songguiliang 一、标签管理系统体系 标签管理系统包括标签管理和贴标签两大功能模块,6个子模块。接下来我们将对每个功能模块的构建,进行详细说明。
8236 0
基于AI的实时监控系统:技术架构与挑战分析
AI视频监控系统利用计算机视觉和深度学习技术,实现实时分析与智能识别,显著提升高风险场所如监狱的安全性。系统架构包括数据采集、预处理、行为分析、实时决策及数据存储层,涵盖高分辨率视频传输、图像增强、目标检测、异常行为识别等关键技术。面对算法优化、实时性和系统集成等挑战,通过数据增强、边缘计算和模块化设计等方法解决。未来,AI技术的进步将进一步提高监控系统的智能化水平和应对复杂安全挑战的能力。
817 4
Data+AI双轮驱动,阿里云存储服务全面升级
近日,2024云栖大会现场,阿里云宣布对其存储服务进行全面升级,围绕Storage for AI与AI in Storage两大领域,提出“4任意+3智能”的升级方向,揭示存储与AI的双向赋能路径。阿里云存储产品将支持更多AI应用高效创新,同时AI也将助力基础设施迭代,助力企业更好地管理数据资产。
揭秘数据脱敏神器:Flink SQL的神秘力量,守护你的数据宝藏!
【8月更文挑战第9天】在大数据时代,Apache Flink以其强大的流处理能力脱颖而出,而Flink SQL则为数据处理带来了灵活性。本文介绍如何运用Flink SQL实现数据脱敏——一项关键的隐私保护技术。通过内置函数与表达式,在SQL查询中加入脱敏逻辑,可有效处理敏感信息,如个人身份与财务数据,以符合GDPR等数据保护法规。示例展示了如何对信用卡号进行脱敏,采用`CASE`语句检查并替换敏感数据。此外,Flink SQL支持自定义函数,适用于更复杂的脱敏需求。掌握此技能对于保障数据安全至关重要。
129 5
实时计算 Flink版操作报错之在使用ES时遇到“java.lang.IllegalStateException: The elasticsearch emitter must be serializable”,是什么原因
在使用实时计算Flink版过程中,可能会遇到各种错误,了解这些错误的原因及解决方法对于高效排错至关重要。针对具体问题,查看Flink的日志是关键,它们通常会提供更详细的错误信息和堆栈跟踪,有助于定位问题。此外,Flink社区文档和官方论坛也是寻求帮助的好去处。以下是一些常见的操作报错及其可能的原因与解决策略。
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等