当前位置:网站首页>可视化ETL工具Kettle概念、安装及实战案例
可视化ETL工具Kettle概念、安装及实战案例
2022-07-17 16:56:00 【小龙Hibernation】
一、数据仓库与ETL
1、数据仓库
- 本质 : 专门针对于数据存储模型
- 实现:MySQL、Oracle、Hive…
- 应用:专门用于实现将各种各样数据进行统一化规范化的数据存储,为所有数据应用提供数据
- 数据分析
- 数据挖掘
- 用户画像
- 推荐系统
- 风控系统
- 特点
- 本身不产生数据
- 本身也不使用数据
- 用于实现复杂数据的存储
- 与数据库区别
- 数据库 : 一般用于支撑业务数据的存储
- 网站后台∶用户数据、商品数据、订单数据。
- 数据仓库:专门为数据数据处理提供数据的
- 业务数据
- 用户行为
- 爬虫数据
- 第三方数据
- 日志数据
- 数据库 : 一般用于支撑业务数据的存储
- 问题
- 数据种类非常的多,每一种数据的内容或者格式都不一样
- 有结构化、有非结构化
- 有合法的,有非法的
- 有需要的,有不需要的
- MySQL是一个专门用于存储结构化数据的数据存储工具
- 结构化
- 需要
- 合法 - 如何将各种各样的数据存储在MYSQL中?
- 解决
- 数据产生以后,不能直接放入数据仓库【MySQL】中存储
- 对原始数据进行一步预处理,将需要的、合法的数据放入数据仓库中。
- 这一步预处理:ETL【数据清洗】
- 解决
- 数据种类非常的多,每一种数据的内容或者格式都不一样
2、ETL
功能 : 实现数据的预处理,数据清洗过程,将原始数据经过ETL处理变成想要的数据,进行下一步的应用
实现
抽取∶读取需要处理的原始数据。
转换︰将原始数据转换为目标数据
- 过滤∶将不需要的数据过滤掉
- 补全 : 将需要用到的数据补全
- 转换∶原始数据的格式不是我们想要的格式,转换为想要的格式
加载︰将处理好的目标数据放入数据仓库中
3、Kettle
- 功能:实现可视化ETL
- 可视化:不用写复杂的代码程序,可以通过图形化的界面来实现数据的处理
- 特点
- 学习以及使用成本低
- 功能强大
二、Kettle安装启动
官方网站:https://sourceforge.net/projects/pentaho/files/Data%20Integration/
下载解压安装
- 注意:文件路径不要有中文

- 注意:文件路径不要有中文
启动

三、Kettle使用
1、转换
- 功能∶实现一个转换的程序
- 输入︰要读取什么数据进行转换
- 转换︰要对数据怎么进行处理
- 输出∶要将处理好的数据保存到什么地方

2、作业
- 功能 : 将多个转换根据需求构建任务流
- 任务流∶很多个任务【每一个转换程序】根据自动运行的条件来运行就是任务流。
- 实际工作中,一次要执行很多个转换任务,如何实现这些任务的自动化执行。
- 自动运行
- 第一种 : 定时运行
- 每天的00:01分开始自动运行
- 第二种:依赖关系
- A先运行,A运行成功,B就自动运行
- 第一种 : 定时运行
- 举例
- 转换1︰实现对数据的过滤。
- 转换2︰实现对数据的补全。
- 转换3∶实现对数据的转换。
- 作业∶一个任务流
- 转换1:每天00:10分自动运行
- 转换2∶转换1运行成功,转换2就开始运行
- 转换3∶转换2运行成功,转换3就开始运行
四、实战案例
1、需求
将txt文件中的数据写入Excel表格中
id,name,age,gender,province,city,region,phone,birthday,hobby,register_date 392456197008193000,张三,20,0,北京市,昌平区,回龙观,18589407692,1970-8-19,美食;篮球;足球,2018-8-6 9:44 267456198006210000,李四,25,1,河南省,郑州市,郑东新区,18681109672,1980-6-21,音乐;阅读;旅游,2017-4-7 9:14 892456199007203000,王五,24,1,湖北省,武汉市,汉阳区,18798009102,1990-7-20,写代码;读代码;算法,2016-6-8 7:34 492456198712198000,赵六,26,2,陕西省,西安市,莲湖区,18189189195,1987-12-19,购物;旅游,2016-1-9 19:15
2、分析
- 任务:一个转换程序
- 输入:读取txt文件中内容
- 转换:不需要
- 输出:将内容加载到一个Excel文件中
3、实现
step1:构建转换流程图
新建一个转换任务

将输入和输出拖入流程图的面板中


连线

注意让线变成深色状态
step2:配置输入
关联文件
双击文本文件输入图标
找到要读取的txt文件,点击ok

配置文件的格式

选择输出到下一步的数据





step3:配置输出
输出目标文件


预览输出信息

step4:测试运行






文章通过观看以下视频总结而出:https://www.bilibili.com/video/BV1CT4y157KE
边栏推荐
猜你喜欢

ASP.NET协同OA办公服务管理平台源码

Ultrasonic sensor (ch101 & ch201) - Ⅱ

2022全球开发者薪资曝光:中国排第19名,平均年薪23,790美元

Arbitrum Nova release! Create a low-cost and high-speed dedicated chain in the game social field

Arbitrum Nova 发布!打造低成本高速度的游戏社交领域专用链

机器学习(上)吴恩达

MyCat2搭建mysql主从分离

When will the deflationary market reverse? How should we operate? 2020-03-13

第五天笔记

35岁以上的测试/开发程序员职业生涯走向,是职场转折点吗?
随机推荐
超声波传感器(CHx01) 学习笔记 Ⅲ - I2C读写操作
Opencv tutorial 03: how to track an object in a video
O & M LITTLE WHITE Growth record - architecture week 6
动态内存规划
Yu Meimei, Ji Gongdu
查看mysql数据表结构的两种方法你会吗?
电路故障的分析简略
Return to risk ratio: the most important indicator of investment opportunities 2020-03-14
Can you view MySQL data table structure in two ways?
My favorite 10 machine learning official account
ros(26):ros::Time::now(),ros::Duration,toSec(),toNSec(); Calculate program execution time
Harmonyos quick start: Hello World
第四天作业
Will webgpu become the killer of webgl?
第五天笔记
go web
HICP day 3
ros(26):ros::Time::now(),ros::Duration,toSec(),toNSec();计算程序执行时间
Opencv based on DLCO descriptor matching
减半行情会不会来?有何投资机会?2020-03-11