当前位置: 首页 > news >正文

数仓的数据加工过程-ETL

       ETL代表Extract Transform和Load。ETL将所有三个数据库功能组合到一个工具中,以从一个数据库获取数据并将其放入另一个数据库。

提取:提取是从数据库中提取(读取)信息的过程。在此阶段,从多个或不同类型的来源收集数据。

转换:转换是将提取的数据从之前的形式转换为所需形式的过程。数据可以放入另一个数据库。可以通过使用规则或查找表或将数据与其他数据组合来进行转换。

加载:加载是将数据写入目标数据库的过程。

ETL用于在提取,转换和加载三个步骤的帮助下集成数据,并用于混合来自多个源的数据。它通常用于构建数据仓库。

在ETL过程中,数据从源系统中提取并转换为可以检查并存储到数据仓库或任何其他系统中的格式。ETL是一种备用但相关的方法,旨在将处理推送到数据库以提高性能。

示例

例如一个零售商店,它有不同的部门,如销售,营销,物流等部门。他们每个人都独立处理客户的信息,每个部门存储数据的方式是完全不同的。销售部门根据客户ID,而营销部门将客户的名称存储。如果我们想查看客户的历史,并想知道他/她因各种活动而购买的不同产品;这将是非常骨感的。

解决方案是使用数据仓库使用ETL以统一结构存储来自不同来源的信息。ETL工具从所有这些数据源中提取数据并转换数据(如应用计算,连接字段,删除不正确的数据字段等)并加载到数据仓库中。ETL可以将唯一数据集转换为统一结构。之后,我们再使用BI工具从这些数据中找出有意义的报告,仪表板,可视化。

1. 为什么需要ETL

需要ETL的原因有很多:

  • ETL帮助公司分析其业务数据,以制定关键业务决策。
  • 数据仓库提供共享数据存储库。
  • ETL提供了一种将数据从各种源移动到数据仓库的方法。
  • 随着数据源的变化,数据仓库将自动更新。
  • 精心设计和记录的ETL系统对于数据仓库项目的成功至关重要。
  • 事务数据库无法回答ETL可以解决的复杂业务问题。
  • 精心设计和记录的ETL系统对于数据仓库项目的成功至关重要。
  • ETL过程允许源系统和目标系统之间的样本数据比较。
  • ETL过程可以执行复杂的转换,并且需要额外的区域来存储数据。
  • ETL有助于将数据迁移到数据仓库中。
  • ETL是先前定义的用于访问和操作源数据到目标数据库的过程。
  • 出于商业目的,ETL提供深刻的历史背景。
  • 它有助于提高生产力,因为它已经编纂成文,可以在不需要技术技能的情况下重复使用。

2. ETL如何工作

数据从一个或多个源中提取,然后复制到数据仓库。当我们处理大量数据和多个源系统时,数据会得到整合。ETL用于将数据从一个数据库迁移到另一个数据库。ETL是需要从数据集市和数据仓库加载数据的过程。ETL是一个过程,也用于将数据从一种格式转换为另一种格式。

3. 数据仓库中的ETL过程

我们需要定期加载数据仓库,以便它能够促进业务分析。需要预期来自一个或多个操作系统的数据并将其复制到数据仓库中。数据仓库面临的挑战是多年来整合和重新安排大量数据。从源系统中提取数据并将其带入数据仓库的过程通常称为ETL。ETL的方法和任务已知多年。数据必须在尝试集成它们的应用程序或系统之间共享。

ETL是一个三步流程:

3.1. 提取

在此步骤中,将数据从源系统提取到ETL服务器或暂存区域。在该区域中进行转换,以使源系统的性能不降低。如果损坏的数据从源系统直接复制到数据仓库中,那么回滚将是一个挑战。暂存区域允许在数据仓库中移动之前验证提取的数据。

需要将系统集成到具有不同DBMS,硬件,操作系统和通信协议的数据仓库中。在物理提取和加载数据之前,需要逻辑数据映射。此数据映射描述了源和目标数据之间的所有关系。

有三种方法可以提取数据。

  • 完全提取
  • 部分提取 - 无更新通知
  • 部分提取 - 使用更新通知

无论我们是否使用任何提取方法,这都不应影响源系统的性能和响应时间。这些源系统是实时生产系统。

提取过程中的验证:

  • 使用源数据确认记录
  • 应检查数据类型
  • 它将检查所有键是否到位
  • 必须确保没有加载垃圾邮件/不需要的数据
  • 删除所有类型的片段和重复数据。
3.2. 转换类型

从源服务器提取的数据是原始的,不能以其原始形式使用。因此,应该映射,清理和转换数据。转换是ETL过程添加值并更改数据(例如BI报告)的重要步骤。

在此步骤中,对提取的数据应用一组函数。不需要任何转换的数据称为直接移动或传递数据。可以对数据应用自定义操作。例如,表中的名字和姓氏位于不同的列中,可以在加载之前将它们连接起来。

转换期间的验证:

  • 过滤:对于加载,仅选择特定列
  • 字符集转换和编码处理
  • 数据阈值和验证检查
  • 例如,年龄不能超过两位数
  • 必填字段不应留空。
  • 转置行和列。
  • 合并数据使用查找
3.3. 加载

将数据加载到数据仓库是ETL过程的最后一步。需要将大量数据加载到数据仓库中以获得简洁的时间。为了提高性能,应优化加载。
如果加载失败,则恢复机制应该从故障点重新启动而不会丢失数据完整性。数据仓库管理员需要根据服务器性能监视,恢复和取消加载。

加载类型

  • 初始加载 - 填满整个数据仓库表
  • 增量加载 - 在需要时应用更改。
  • 完全刷新 - 擦除一个或多个表的内容并使用新数据重新加载。

4. 总结

  • ETL也称为提取,加载和转换。
  • ETL提供了将数据从各种源移动到数据仓库的方法。
  • 第一步包括将数据从源系统提取到暂存区域。
  • 转换步骤包括清理和转换来自源的提取数据。
  • 将数据加载到数据仓库是ETL过程的最后一步。


 

相关文章:

数仓的数据加工过程-ETL

ETL代表Extract Transform和Load。ETL将所有三个数据库功能组合到一个工具中,以从一个数据库获取数据并将其放入另一个数据库。 提取:提取是从数据库中提取(读取)信息的过程。在此阶段,从多个或不同类型的来源收集数据。 转换:转…...

自动驾驶中的多传感器时间同步

目录 前言 1.多传感器时间特点 2.统一时钟源 2.1 时钟源 2.2 PPSGPRMC 2.3 PTP 2.4 全域架构时间同步方案 3.时间戳误差 3.1 硬件同步 3.2 软件同步 3.2.3 其他方式 ① ROS 中的 message_filters 包 ② 双端队列 std::deque 参考: 前言 对多传感器数据…...

CYT3BB_4BB:Clock system

CYT3BB/4BB的时钟系统包括8-MHz IMO、2个ILO、4个看门狗计时器、4个PLL、一个FLL、5个时钟监控器(CSV)、一个8-33.34MHzECO和一个32.768-kHz WCO。   该时钟系统支持三个主时钟域: CLK_HF、CLK_SLOW和CLK_LF。 - CLK_HFx: CLK_HFx是活动模式的时钟。每个人都可以使用任…...

C# OpenCV机器视觉:利用CNN实现快速模板匹配

在一个阳光灿烂的周末,阿强正瘫在沙发上,百无聊赖地换着电视频道。突然,一则新闻吸引了他的注意:某博物馆里一幅珍贵的古画离奇失踪,警方怀疑是被一伙狡猾的盗贼偷走了,现场只留下一些模糊不清的监控画面&a…...

消息队列篇--通信协议扩展篇--二进制编码(ASCII,UTF-8,UTF-16,Unicode等)

1、ASCII(American Standard Code for Information Interchange) 范围:0 到 127(共 128 个字符)描述:ASCII 是一种早期的字符编码标准,主要用于表示英文字母、数字和一些常见的符号。每个字符占…...

Direct Preference Optimization (DPO): 一种无需强化学习的语言模型偏好优化方法

论文地址:https://arxiv.org/pdf/2305.18290 1. 背景与挑战 近年来,大规模无监督语言模型(LM)在知识获取和推理能力方面取得了显著进展,但如何精确控制其行为仍是一个难题。 现有的方法通常通过**强化学习从人类反馈&…...

跟我学C++中级篇——容器的连接

一、数据的整合 在实际的开发场景中,经常可以遇到以下的情况:有几个地方的数据需要整合在一起。解决办法也有很多,在不同的层面有不同的解决方式。比如经过清洗可以把非关系型数据转为关系型数据。但在底层编程的情况中会发现有几情况&#…...

java求职学习day15

多线程 1 基本概念 1.1 程序和进程的概念 (1)程序 - 数据结构 算法,主要指存放在硬盘上的可执行文件。 (2)进程 - 主要指运行在内存中的可执行文件。 (3)目前主流的操作系统都支持多进程&a…...

【脚本】如何禁用谷歌浏览器自动更新

这里写自定义目录标题 问题描述解决方法代码 问题描述 最近更新系统以后,发现chrome老是自己更新,导致我的代码也得跟着他更新,就跟一个拜托不掉的狗皮膏药一样。 解决方法 于是我写了一个脚本,以下代码都是bash代码&#xff0…...

【Linux】华为服务器使用U盘安装统信操作系统

目录 一、准备工作 1.1 下载UOS官方系统 1.2制作启动U盘 1.3 服务器智能管理系统iBMC 二、iBMC设置U盘启动 一、准备工作 1.1 下载UOS官方系统 服务器CPU的架构是x86-64还是aarch64),地址:统信UOS生态社区 - 打造操作系统创…...

WPF3-在xaml中引用其他程序集的名称空间

1. 如何在XAML里引用类库中的名称空间和类2. 小结 1. 如何在XAML里引用类库中的名称空间和类 首先需要记住一点:把类库引用到项目中是引用其中名称空间的物理基础,无论是C#还是XAML都是这样。 一旦将一个类库引用进程序,就可以引用其中的名…...

Python 在Word中添加、或删除超链接

在Word文档中,超链接是一种将文本或图像连接到其他文档、网页或同一文档中不同部分的功能。通过添加超链接,用户可以轻松地导航到相关信息,从而增强文档的互动性和可读性。本文将介绍如何使用Python在Word中添加超链接、或删除Word文档中的超…...

基于 WPF 平台使用纯 C# 实现动态处理 json 字符串

一、引言 在当今的软件开发领域,数据的交换与存储变得愈发频繁,JSON(JavaScript Object Notation)作为一种轻量级的数据交换格式,以其简洁、易读、便于解析和生成的特点,被广泛应用于各种应用程序中。在 W…...

「全网最细 + 实战源码案例」设计模式——单例设计模式

核心思想: 属于创建型设计模式,核心目的是确保一个类在整个程序运行期间只有一个实例,并提供一个全局访问点来获取该实例。 控制共享资源的访问(如数据库链接、配置管理、日志处理器等) 真实世界类比:政府…...

第01章 19 通过点数据逐级构建球体体数据的综合性小例子

用VTK库来创建一个三维图像数据(vtkImageData),并填充标量数据以表示一个球体的体数据。球的半径为50,体数据的空间间隔为1.0/1000。 首先,我需要包含VTK的头文件,并且创建一个vtkImageData对象。然后&…...

CVE-2024-23897-Jenkins任意文件读取漏洞复现

content Jenkins是什么CVE-2024-23897总结修复建议 Jenkins是什么 Jenkins是一人基于Java开发的、可扩展的持续集成引擎,用于持续、自动地构建/测试软件项目,可以监控一些定时执行的任务。 官网文档: Jenkins是一款开源 CI&CD 软件&…...

前端react后端java实现提交antd form表单成功即导出压缩包

前端&#xff08;React Ant Design&#xff09; 1. 创建表单&#xff1a;使用<Form>组件来创建你的表单。 2. 处理表单提交&#xff1a;在onFinish回调中发起请求到后端API&#xff0c;并处理响应。 import React from react; import { Form, Input, Button } from ant…...

基于ESP32的桌面小屏幕实战[6]:环境搭建和软件基础

摘要 本文分为两部分&#xff1a;Linux开发环境搭建和软件基础。Linux开发环境搭建介绍了Ubuntu虚拟机安装及SSH、Samba配置&#xff0c;可以实现用VSCode操作虚拟机。为了后续工作&#xff0c;搭建了乐鑫ESP32 SDK环境。软件基础介绍了Linux开发常用的软件基础&#xff0c;包…...

接口(完)

大家好&#xff0c;今天我们着重来总结一下接口的知识&#xff0c;并且将接口和抽象类的区别罗列一下&#xff0c;帮助我们更好的认识抽象类和接口。 2.7 抽象类和接口的区别. 抽类和接口都是Java中多态的常见使用方式,都需要重点掌握,同时又要认清两者的区别(重要!!&#xf…...

数据结构——实验七·排序

欢迎各位大佬们来到Tubishu的博客&#x1f31f; Tubishu是一名计算机本科生&#xff0c;不定期发送一些在学校的成果供佬们消遣~希望能为佬的编程之路添砖加瓦⭐&#x1f525; 求各位大佬们垂怜&#x1f525;点赞评论一下呗&#x1f525;&#x1f525; 本文专栏 ➡️ 数据结构 …...

隧道裂缝剥落病害AI识别系统

我国现有公路隧道超2.5万座&#xff0c;总里程超2.8万公里&#xff0c;其中运营超过15年的老旧隧道占比达35%。据交通运输部2025年统计&#xff0c;年均因隧道结构病害导致的交通中断超1200次&#xff0c;直接经济损失超45亿元。传统检测模式暴露四大核心痛点&#xff1a;检测周…...

IPD的势、道、法、术、器

目录 简介 一、势&#xff1a;为什么 IPD 是必然选择&#xff1f; 二、道&#xff1a;IPD 的底层哲学 三、法与术&#xff1a;从战略到执行的具体路径 四、器&#xff1a;让流程真正落地的工具与组织 不是每家公司都需要全套 IPD&#xff0c;但每家公司都需要 IPD 思维 简…...

HFSS仿真结果怎么看?一文读懂S参数与电场图,让你的T型波导分析不再迷茫

HFSS仿真结果深度解析&#xff1a;从S参数到电场图的工程实践指南面对HFSS仿真生成的复杂数据图表&#xff0c;许多工程师常陷入"看得见数据却读不懂含义"的困境。本文将带您穿透数据表象&#xff0c;掌握T型波导性能分析的核心方法论。1. S参数&#xff1a;波导性能…...

告别手写UI!用NXP GUI Guider拖拽设计LVGL界面,5分钟搞定音乐播放器Demo

嵌入式UI开发革命&#xff1a;5分钟用GUI Guider构建LVGL音乐播放器在嵌入式系统开发中&#xff0c;用户界面(UI)设计曾长期是工程师的痛点——既要考虑资源受限的硬件环境&#xff0c;又要实现流畅美观的交互体验。传统手动编写UI代码的方式不仅效率低下&#xff0c;调试过程更…...

微信小程序3D开发框架技术对比:XR-Frame与threejs-miniprogram

随着微信小程序逐步支持3D渲染与AR能力&#xff0c;开发者面临两个主要官方方案&#xff1a;自研的XR-Frame和适配Three.js的threejs-miniprogram。本文将从架构设计、渲染机制、功能集成、开发模式及适用场景等维度进行技术分析&#xff0c;为技术选型提供参考。一、XR-Frame&…...

腾讯 Marvis 初级使用教程——从安装到上手

腾讯最新系统级AI助手Marvis&#xff08;2026年5月20日发布&#xff09;&#xff0c;官网 https://marvis.qq.com&#xff0c;主打“一句话操作电脑”、跨端协同、GUI Agent执行。虽然是个【小龙虾】&#xff0c;但上手其实不难。这篇就简单写写 Marvis 的安装和基础使用&#…...

HDI 高密度互连板阶数的深度理解

一、概述高密度互连板&#xff08;High Density Interconnector, HDI&#xff09;是通过激光微孔技术和逐层积层工艺实现高密度布线的印制电路板。其阶数划分是行业内统一的技术标准&#xff0c;核心依据为独立积层压合次数与配套激光盲孔制程次数&#xff0c;而非单面层数或钻…...

网飞成立 AI 动画工作室,开启流媒体“原生 AI 制片时代”,中外布局逻辑有何不同?

1. Netflix“偷跑”在影视巨头关于 AIGC 的军备竞赛中&#xff0c;Netflix 再次加速。据外媒 TheVerge 报道&#xff0c;网飞于今年 3 月成立了名为 "INKubator" 的工作室&#xff0c;这是全球流媒体巨头中首个以生成式人工智能为核心的动画制作部门。此动作引发全球…...

基于Max78000与规则引导的音频数据集构建:边缘AI声音识别实战

1. 项目概述&#xff1a;当边缘AI遇见棕榈树里的“窃听者”在边缘计算和物联网设备大行其道的今天&#xff0c;我们常常面临一个核心矛盾&#xff1a;一方面&#xff0c;我们希望设备足够“聪明”&#xff0c;能实时识别并响应特定的声音模式&#xff0c;比如工厂里高压阀门的异…...

如何扩展GASShooter:添加新武器、新能力与新游戏机制的终极指南

如何扩展GASShooter&#xff1a;添加新武器、新能力与新游戏机制的终极指南 【免费下载链接】GASShooter Advanced FPS/TPS Sample Project for Unreal Engine 4s GameplayAbilitySystem plugin 项目地址: https://gitcode.com/gh_mirrors/ga/GASShooter GASShooter是Un…...