ETL背景介绍_1:数据孤岛仓库的介绍

1 ETL介绍

1.1 数据孤岛

随着企业内客户数据大量的涌现,单个数据库已不再足够。为了储存这些数据,公司通常会建立多个业务部门组织的数据库来保存数据。比如,随着数据量的增长,公司通常可能会构建数十个独立运行的业务数据库,这些数据库具有不同的业务和用途。

这个就导致了数据孤岛 ,整个组织的数据被分散到各个地方。如下图所示:

1.2 数据仓库

为了解决数据分析领域的数据孤岛问题,通过工具或程序,将零散的数据,统一收集到一个位置进行"集中储存",以便于"集中分析"。

1.3 ETL的引出

将数据进行收集的任务,称为ETL。

ETL:Extract-Transform-Load,用来描述将数据从来来源端经过抽取、转换、加载至目的端的过程。

ETL一词较常用于数据仓库。

本质上:

1.4 ETL的实现

1、专门的ETL软件:Kettle、DataX、Sqoop等;

2、使用代码编程完成:Python、Java等均可以完成ETL程序的开发。

2 常见的数据格式

2.1 CSV格式

逗号分隔符,也可以永其他字符作为分隔符。

2.2 json格式

json是储存和交换文本信息的语法,类似XML。它是Key-Value型的。例如:在这里插入代码片

json 复制代码
{
  "name": "张三",
  "age": 28,
  "city": "北京"
}

JSON(JavaScript Object Notation)本质上是一个字符串格式的数据表示方式,虽然它的结构类似于对象或字典,但传输和存储时都是以字符串的形式存在的。

2.3 xml格式

XML(eXtensible Markup Language)是一种用于结构化数据存储与传输的标记语言,常用于配置文件、数据交换等场景。

xml 复制代码
<?xml version="1.0" encoding="UTF-8"?>
<person>
  <name>张三</name>
  <age>28</age>
  <city>北京</city>
</person>

3 数据结构类型

3.1 结构化数据

  • 结构化数据也称为行数据,是可以由一个二维表所描述的数据。
  • schema就是表结构,在schema的定义下,每一列,每一个位置,应该是什么类型的数据,表达的什么意义都是确定的。
  • 常见的结构化数据:
    ① excel
    ② json不一定是结构化的,具体看json的内容。如果是简单的Key-Value就是结构化的(可以直接转成二维表);如果是复杂嵌套的json,就不是结构化的。

3.2 半结构化数据

3.3 非结构化数据

完全没办法用二维表来描述。如图片、音频、视频等。
结构化、半结构化、非结构化描述的是一堆数据在一起后的类型。

4 需求分析

4.1 背景说明

本次案例,是处理一个零售公司的业务数据。这个公司是卖收银机(扫码腔)的,收银机结账后,将用户购买的信息通过网络发送到公司的后台,公司后台就会收集到非常多的用户购买的订单数据。

因此,我们需要做的是,将这个公司的业务数据,通过ETL任务,采集到Mysql以及文件储存中。

4.2 需要采集的数据

(1)json数据:订单业务数据,一笔订单的内含数据,如时间、价格、商品等,要采集到Mysql和csv中。

(2)mysql数据:后台数据库我们要采集的内容,如条码数据,如产地、重量;

(3)日志数据。

4.3 数据在哪儿

一、数据来源

  • JSON 文件(订单数据)
  • 商品数据库 MySQL(商品信息)
  • 后台服务日志文件(log 文件数据)

二、存储目标

  • 写入 MySQL 数据库(当前作为数据仓库的替代)
  • 输出为 CSV 文件,用于数据备份

三、流程简述

  1. 从 JSON、MySQL 和 日志文件 中采集数据
  2. 将采集数据写入 MySQL 数据库
  3. 同步写入 CSV 文件 作为备份

总结:

实现统一采集、双通道输出,确保数据既结构化入库,又有备份保障。

相关推荐
Aloudata3 小时前
如何通过 NoETL 指标平台根治跨业务口径混乱
数据分析·etl·指标平台·指标口径
2501_933329555 小时前
技术深度剖析:Infoseek 字节探索舆情处置系统的全链路架构与核心实现
大数据·数据仓库·人工智能·自然语言处理·架构
枫叶林FYL8 小时前
【Python高级工程与架构实战】项目四 现代ETL编排平台:Airflow + dbt + Snowflake 企业级数据管道架构与实现
人工智能·python·架构·etl
虚幻如影8 小时前
Hive 中“STRING类型无需显式指定长度
数据仓库·hive·hadoop
荒川之神18 小时前
Oracle 数据仓库雪花模型设计(完整实战方案)
数据库·数据仓库·oracle
一个天蝎座 白勺 程序猿18 小时前
Apache IoTDB(15):IoTDB查询写回(INTO子句)深度解析——从语法到实战的ETL全链路指南
数据库·apache·etl·iotdb
RestCloud20 小时前
2026年企业级ETL工具选型指南:从开源DataX到商业化ETLCloud的演进
数据仓库·开源·etl·datax·数据处理·数据集成·数据传输
荒川之神20 小时前
Oracle 数据仓库星座模型(Galaxy Model)设计原则
数据库·数据仓库·oracle
瀚高PG实验室1 天前
ETL中,分区表子表未及时收集统计信息,导致sql执行耗时很长
数据库·数据仓库·sql·etl·瀚高数据库
UXbot1 天前
2026年AI全链路产品开发工具对比:5款从创意到上线一站式平台深度解析
前端·ui·kotlin·软件构建·swift·原型模式