☰
数据孤岛到数据仓库
2026/10/8 7:18:05 网站建设 项目流程

1. ETL基础

1.1. ETL概念

数据孤岛:

  • 企业中的业务数据通常会分散在多个业务数据库中;
  • 如果需要对这些数据进行数据分析,正因为这些数据的分散存储,会造成统一分析的困难。

数据仓库:

  • 为了解决数据孤岛,需要将数据进行集中存储,方便集中分析;
  • 数据仓库是一种集中进行分析的解决方案

如下图就是在分散的数据孤岛通过ETL的方式进行数据的集中输入到数据仓库中;

ETL:将企业中分散的数据,集中的输入到数据仓库中的过程;

ETL的流程主要分为3个过程:

  • extract 抽取
  • transform 转换
  • load 加载

1.2. ETL的实现方式

使用工具取完成ETL的相关任务:

  • kettle
  • sqoop
  • flume
  • datax

使用编程语言开发etl系统,比如python等;

1.3. 简单总结

1.4. 结构化、半结构化、非结构化数据

常见的数据存储格式,除了最常见的关系型表数据,还有一些常见的文件存储格式如下:

  • CSV
  • JSON
  • XML

结构化数据

可以用schema描述的数据,就是结构化数据:

schema:数据的一种描述,具有明确意义的行列式二维表格数据,可以简单的认为schema就是类似数据库的表格;

常见的结构化数据有:CSV、Excel

半结构化数据

部分内容可以用schema描述的数据

比如JSON和XML

非结构化数据

完全无法用schema描述的数据,例如:

2. kettle——ETL过程的处理工具之一

2.1. 安装部署

kettle是基于Java开发的,所以电脑环境需配置好Java jdk:

  • 环境变量:JAVA_HOME;
  • 环境变量:path

  • 解压kettle软件
  • windows系统双击spoon.bat

3. kettle入门

最重要的是配置组件的过程

3.1. txt转换excel

3.1.1. 配置组件

配置文本文件输入

编码方式最好是utf-8

字段获取

3.2. excel转换为mysql表

  • 快捷键ctrl+n新建转换
  • 构建流图

3.2.1. 配置输入组件

3.2.2. 配置输出组件

新建数据库连接

  • 建立与已存在的目标表的连接

  • 执行sql创建数据表

3.3. pycharm配置mysql连接

  • 点击数据库图标

  • 找到mysql数据源

  • 配置数据源

  • 数据库驱动配置

3.4. mysql表复制备份

  • 新建转换
  • 构建数据流图

3.4.1. 配置输入组件

3.4.2. 配置输出组件

3.5. sql语句快速复制目标表

3.6. sql数据库,插入/更新组件

  • 新建转换
  • 构建数据流图

3.6.1. 配置输入组件

最后预览一下,查看是否有问题。

3.6.2. 配置输出组件

3.7. mysql转excel加switch组件

  • 新建转换
  • 构建数据流图

3.7.1. 配置输入组件

3.7.2. 配置swtich组件

3.7.3. 配置输出组件

3.8. sql脚本执行

3.9. job作业

3.9.1. 第一步 新建作业

3.9.2. 第二步 构建流图

3.9.3. 配置组件

3.9.3.1. 配置转换组件
  • 双击配置转换组件
  • 浏览选择需要执行的ktr文件(ktr文件是前面保存的‘转换’文件)

3.9.3.2. 配置start组件

start组件是一个将作业定时执行的组件,表现上是将一个转换文件每隔一段时间间隔就去执行文件。

3.9.3.3. 保存运行

3.9.3.4. 退出

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询