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 文件 作为备份

总结:

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

相关推荐
UXbot8 小时前
如何选择适合公司项目的UI设计工具?企业选型指南
前端·低代码·ui·团队开发·原型模式·设计规范·web app
UXbot12 小时前
原型设计工具如何帮助新人快速进入产品行业?
前端·低代码·ui·交互·团队开发·原型模式·web app
TPBoreas1 天前
springboot3.5比2.x做了哪儿些提升
数据仓库·hive·hadoop
Nefu_lyh3 天前
【Hive】七、Hive 函数:聚合 / 统计 / 分位数 / 集合 / 高级分组
数据仓库·hive·hadoop
KANGBboy3 天前
hive UDF函数
数据仓库·hive·hadoop
云器科技4 天前
螳螂科技:从组装到统一,如何用云器 Lakehouse 完美替代“MC+DW+ADB”三件套?
数据库·数据仓库·人工智能
sunny.day5 天前
js原型与原型链
开发语言·javascript·原型模式·js原型链
UXbot6 天前
AI网页开发工具能替代工具吗?5大平台对比
前端·人工智能·低代码·ui·原型模式·web app
白日与明月6 天前
Hive子查询中的ORDER BY陷阱:为什么排序“消失”了?
数据仓库·hive·hadoop
weixin_307779136 天前
从“大海捞针”到“主动推理”:AI如何重塑云原生故障诊断的根因链
开发语言·人工智能·算法·自动化·原型模式