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

总结:

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

相关推荐
67X37 分钟前
数据仓库与数据挖掘课程设计
数据仓库·数据挖掘
Mr_WangAndy12 小时前
C++设计模式_创建型模式_原型模式Prototype
c++·设计模式·原型模式
奔跑吧邓邓子12 小时前
【C++实战㊷】C++ 原型模式实战:从概念到高效应用
c++·实战·原型模式
步行cgn16 小时前
HttpSessionBindingListener
java·开发语言·数据仓库·servlet
Hello.Reader16 小时前
用 Flink DataStream API 搭建流式 ETL从无状态到有状态、从单流到连接流
flink·etl·原型模式
北冥SP17 小时前
etl介绍
数据仓库·etl
心止水j1 天前
hive的安装
数据仓库·hive·hadoop
想去的远方1 天前
hive调优系列-3.HQL语法和运行参数层面
大数据·数据仓库·hive·hadoop
笨手笨脚の1 天前
设计模式-原型模式
java·设计模式·创建型设计模式·原型模式
想去的远方2 天前
hive调优系列-1.调优须知
大数据·数据仓库·hive·hadoop