大数据测试/ETL开发,如何造测试数据

相信很多的小伙伴,有些是大数据测试岗位,有些是ETL开发,都面临着如何要造数据的情况。

1,造数背景

【大数据测试岗位】,比较出名的就是宁波银行,如果你在宁波银行做大数据开发,对着需求开发完代码之后,可能需要把代码提交给测试人员,那么测试人员会根据这个业务需求,他们会自己造一批数据,然后看看你的sql脚本,是不是有一些明显的sql错误,以及开发规范的问题。当然,还有最重要的一点是,他们会拿着你的脚本取跑数,看看的出来的数据是不是符合业务的逻辑与需求。

如果是【ETL开发岗位】,那么在你连通了HIVE和其他的数据库(比如说,Oracle,mysql,kingbases等等),接着你把代码也开发好了,那么怎么判断你的数据是不是ETL到目标数据库里面了呢?当然是自己先在源数据库里造一批数据,然后走调度跑脚本,如果不报错的情况下,我们再到目标数据库里查看一下,我们之前造的数据是不是ETL过去了。

如果是【大数据开发岗位】,那基本不咋造数据,因为在测试环境,就是有测试数据,还有生产上来的脱敏数据。这些都是可以拿来借鉴参考开发的。

2,造数阶段

那么如何造数呢??直接上 HUE 摸鱼儿展示一下

一张图拿捏:

3,造数代码

--如果是分区表(直接建立分区,同时往该分区插入数据)insert into  table xxxx partiton ( dt = '2024-05-27' )(字段1,字段2,字段3......)values (值1,值2,值3.......)  , (值4,值5,值6.......)--如果不是分区表insert into  table xxxx (字段1,字段2,字段3......)values (值1,值2,值3.......), (值4,值5,值6.......)

4,造数逻辑

当然,造数代码不难,但是数据可不是瞎造的,其中还是有一定的讲究。

1,首先,你得先了解整个需求文档,它的数据的最细粒度是什么??

比如说一个客户对应多个资金账号,那么你就按照最细粒度来造数。

可以造3条数据,一个客户对应3个不同的资金账号。

2,其次,根据需求文档的某些特殊字段进行穷举

比如说,客户类型字段,总共分为3个,个人客户,机构客户,产品客户。

这个时候,你可以发散出3条数据,穷举出来。

3,也可以根据数据的低概率可能性造数

比如,非主键字段,可以故意设置一些null值。

比如,要算一个完成率,你可以设置分母为0的情况。

比如,一般一个员工,只能归属于一个营业部,但是你清楚这个业务,你可以把某个客户,分别放在2个不同的营业部下面。

4,最后,我想说,测试人员得要对业务需求文档要有一定的理解。

清楚哪些是开发重点,哪些是争议点,在重点之处下文章,才能取得好的效果。

只有这样子,跑出来的数据才是全面的。你无需造数太多,但一定要麻雀虽小五脏俱全。才能叫校验出开发代码人员的代码有没有漏洞,能不能良好的实现业务需求。

==========================================================

好了,这个知识点就分享到这里。

之后看看给大家分享一下测试数据的岗位的小伙伴是怎么测试你的脚本的,有空也会分享一下ETL开发的流程。

欢迎大家点赞收藏关注,不一定很难,但都是经验之谈。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/20815.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

数学建模 —— 层次分析法(2)

目录 一、层次分析法(AHP) 二、构造比较判断矩阵 2.1 两两比较法 三、单准则下的排序及一致检验 3.1 单准则下的排序 3.2 一致性检验 四、层次总排序 4.1 层次总排序的步骤 4.2 总排序一致性检验 一、层次分析法(AHP) 方…

xdp、dpdk、rdma能在同一网卡上同时使用吗?

文心一言 XDP、DPDK和RDMA是三种不同的技术,它们各自在Linux网络性能优化中扮演了不同的角色。关于它们能否在同一网卡上同时使用,我们需要考虑以下几个方面: XDP(eXpress Data Path): XDP是Linux内核提供…

SVM算法-非线性分类背后技术详解

引言 支持向量机(SVM)是一种强大的监督学习算法,广泛应用于分类和回归任务中。本文将详细介绍SVM算法在非线性分类任务中的应用,并通过代码示例来展示其背后的技术精髓。我们将分三大部分来展开,本部分将重点介绍SVM算…

银行批量支付业务功能测试点详细介绍

银行批量支付业务是一种银行业务处理方式,它允许银行将多个支付交易合并为一个批次,然后一次性进行处理。这种方式通常用于处理大量、重复性高或定期发生的支付交易,如工资发放、定期账单支付等。 主要作用: 提高效率&#xff1…

【C++面试50题】

以下是针对C程序员面试可能遇到的一些问题,涵盖了从基础语法、面向对象、STL、内存管理、模板、异常处理、并发编程等多个方面。 ### 基础概念与语法 1. C与C的主要区别是什么? 2. 什么是构造函数和析构函数?它们何时被调用? 3. 什…

51单片机C语言编程网盘:深度探索与实用指南

51单片机C语言编程网盘:深度探索与实用指南 在嵌入式系统领域,51单片机以其广泛的应用和稳定的性能而备受青睐。而C语言,作为一种高效且灵活的编程语言,更是单片机编程的首选工具。今天,我们将通过分享一个51单片机C语…

17、Spring系列-SpringMVC-请求源码流程

前言 Spring官网的MVC模块介绍: Spring Web MVC是基于Servlet API构建的原始Web框架,从一开始就已包含在Spring框架中。正式名称“ Spring Web MVC”来自其源模块的名称(spring-webmvc),但它通常被称为“ Spring MVC…

Linux 软件安装:从源码编译到包管理器安装

Linux 软件安装:从源码编译到包管理器安装 在 Linux 操作系统中,软件安装是一个非常重要的任务。不同的软件安装方式有不同的优缺点,本篇博客将介绍 Linux 软件安装的几种方式,包括从源码编译安装、使用包管理器安装和使用第三方…

【Redis】什么是缓存雪崩 ? 怎么解决

缓存雪崩(Cache Avalanche)是指在某个时刻,大量的缓存同时失效或过期,导致大量的请求直接打到数据库,使数据库压力剧增,甚至崩溃。与缓存穿透和缓存击穿不同,缓存雪崩是多个缓存同时失效或过期引…

[AI Google] 三种新方法利用 Gemini 提高 Google Workspace 的生产力

Workspace 侧边栏中的 Gemini 现在将使用 Gemini 1.5 Pro,新的 Gemini for Workspace 功能即将登陆 Gmail 移动应用,等等。 Gemini for Google Workspace 帮助个人和企业更好地利用 Google 应用——从在 Gmail 中撰写邮件到在 Sheets 中组织项目计划。过…

glpi 安装与使用

1、环境介绍 操作系统:龙蜥os 8.9 nginx:1.26.1 php:8.2.19 mysql:MarinaDB 10.3.9 glpi:10.0.6 fusioninventory:fusioninventory-10.0.61.1 2、安装epel源 dnf install epel-release -y dnf install htt…

Mongodb安装和简单操作

文章目录 1.安装服务端1.1 官网下载,解压安装1.2 配置启动 2.安装客户端2.1 MongoDB Shell下载安装2.2 连接服务3.操作3.1 创建数据库 Create a New Database and Collection3.1 Insert Documents3.2 Query Documents3.3 Update Documents3.4 Delete Documents 1.安…

Python | Leetcode Python题解之第125题验证回文串

题目&#xff1a; 题解&#xff1a; class Solution:def isPalindrome(self, s: str) -> bool:n len(s)left, right 0, n - 1while left < right:while left < right and not s[left].isalnum():left 1while left < right and not s[right].isalnum():right - …

2010-2015 年阿拉斯加北坡苔原植物功能类型连续覆盖图

ABoVE: Tundra Plant Functional Type Continuous-Cover, North Slope, Alaska, 2010-2015 2010-2015 年阿拉斯加北坡苔原植物功能类型连续覆盖图 简介 文件修订日期&#xff1a;2021-08-27 数据集版本: 1 摘要 该数据集以 30 米的分辨率提供了阿拉斯加北坡约 12.5 万平方…

UTF-64设想之排列组合

现有的UTF-8和UTF-16&#xff0c;用不同语言表示相同意思时&#xff0c;字节数相差很多。所以&#xff0c;就有了UTF-64的设想。它的设计目标是&#xff1a;不同语言表示相同意思&#xff0c;需要的字节数相差不多。 运行以下程序&#xff0c;得出所有排列组合。 import itert…

【深度学习的未来:探索无监督学习的潜力】

文章目录 前言无监督学习的基本概念简单的无监督学习示例&#xff1a;K-Means聚类分析代码结论 前言 随着深度学习技术的不断进步&#xff0c;我们正逐渐从依赖大量标注数据的有监督学习转向更加高效和自主的无监督学习。无监督学习旨在让机器从数据中自行发现模式和结构&…

【RuoYi】实现文件的上传与下载

一、前言 首先&#xff0c;最近在做一个管理系统&#xff0c;里面刚好需要用到echarts图和富文本编辑器&#xff0c;然后我自己去看了官网觉得有点不好懂&#xff0c;于是去B站看来很多视频&#xff0c;然后看到了up主【程序员青戈】的视频&#xff0c;看了他讲的echarts图和富…

k8s 部署 Dashboard

Dashboard 是官方提供的一个UI&#xff0c;可用于基本管理K8s资源。 # 在master节点执行# wget \ https://raw.githubusercontent.com/kubernetes/dashboard/v2.5.0/aio/deploy/recommended.yaml vi recommended.yaml 增加 nodePort: 30001 和 type: NodePort ...... spec:p…

一步一步写线程之十四并行编程和并行库

一、并行编程 多线程和多进程编程&#xff0c;在早期一般是并发编程&#xff0c;现在基本是并行编程的基础。或者干脆就叫并行编程也没有什么可纠结的。但实际上并发编程和并行编程还是有着很大的不同。在前面的“多核和多CPU编程”系列中&#xff0c;已经对并发和并行的概念以…

利用Python处理DAX多条件替换

小A&#xff1a;白茶&#xff0c;救命啊~~~ 白茶&#xff1a;什么情况&#xff1f; 小A&#xff1a;是这样的&#xff0c;最近不是临近项目上线嘛&#xff0c;有一大波度量值需要进行类似的调整&#xff0c;一个两个倒没啥&#xff0c;600多个&#xff0c;兄弟&#xff0c;救命…