Kettle:千亿数据仓库基础练习[不学白不学]!!!保证你收益匪浅

本文主要是介绍Kettle:千亿数据仓库基础练习[不学白不学]!!!保证你收益匪浅,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

可视化ETL工具Kettle

ETL,是英文Extract-Transform-Load的缩写,用来描述将数据从来源端经过抽取(extract)、转换(transform)、加载(load)至目的端的过程。ETL一词较常用在数据仓库,但其对象并不限于数据仓库。

Kettle介绍

对于企业或行业应用来说,经常会遇到各种数据的处理,转换,迁移,掌握一种etl工具的使用,必不可少,这里要学习的ETL工具是——Kettle,现在已经更名为PDI

  • Kettle是一款国外开源的ETL工具,纯java编写,可以在Window、Linux、Unix上运行,绿色无需安装
  • Kettle 中文名称叫水壶,该项目的主程序员MATT 希望把各种数据放到一个壶里,然后以一种指定的格式流出
  • Kettle允许管理来自不同数据库的数据,提供一个图形化的用户环境来描述想做什么,无需关心怎么做
    大数据岗位需求 :
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

Kettle安装、配置

环境要求:
安装、配置好JDK

  1. 下载Kettle
    https://pan.baidu.com/s/1mDeCUEqBceUkZOT62ehmFw 提取码:apro
  2. 解压Kettle
  3. 双击spoon.bat 启动spoon在这里插入图片描述

Kettle入门案例

测试数据下载:链接:https://pan.baidu.com/s/137fbj9I26wa1pps66uVRLQ
提取码:b1rw
需求:

  • 把数据从CSV文件(ketttle测试数据\用户数据源\user.csv)抽取到Excel文件

数据源:

idnameagegenderprovincecityregionphonebirthdayhobby注册时间
392456197008193000张三200北京市昌平区回龙观185894076921970-08-19美食;篮球;足球2018-08-06 09:44:43
267456198006210000李四251河南省郑州市郑东新区186811096721980-06-21音乐;阅读;旅游2017-04-07 09:14:13
892456199007203000王五241湖北省武汉市汉阳区187980091021990-07-20写代码;读代码;算法2016-06-08 07:34:23
492456198712198000赵六262陕西省西安市莲湖区181891891951987-12-19购物;旅游2016-01-09 19:15:53
392456197008193000张三200北京市昌平区回龙观185894076921970-08-19美食;篮球;足球2018-08-06 09:44:43
392456197008193000张三200北京市昌平区回龙观185894076921970-08-19美食;篮球;足球2018-08-06 09:44:43

实现步骤:

  1. 在Kettle中新建转换

  2. 拖拽一个CSV输入组件、一个Excel输出组件、并按住Shift拖动鼠标连接两个组件

  3. 配置CSV输入组件、Excel输出组件

具体实现:

  1. 新建转换

  2. 拖拽一个CSV输入组件、一个Excel输出组件、并按住Shift拖动鼠标连接两个组件
    在这里插入图片描述

  3. 配置CSV输入组件

  • 选择要进行导入的CSV数据源
  • 点击 「获取字段」,读取CSV中的列
  • 点击 「预览」,浏览CSV中的数据
    在这里插入图片描述
    在这里插入图片描述
  1. 配置Excel组件
  • 指定输出Excel文件的位置
    在这里插入图片描述
  1. 点击 三角形 箭头执行
    在这里插入图片描述

Kettle数据流结构图

在这里插入图片描述

Kettle输入/输出组件

输入组件

JSON数据文件输入

需求:

  • kettle测试数据\用户数据源\user.json 数据文件,通过Kettle,抽取到Excel中
    在这里插入图片描述
    操作步骤:
  • 新建转换
  • 拽入 JSON input组件、Microsoft Excel输出组件、并连接两个组件
    在这里插入图片描述
  • 配置 JSON input 组件
    ① 指定JSON文件数据源
    在这里插入图片描述
    ② 选择 JSON 字段
    在这里插入图片描述
  • 配置 Excel 输出 组件
    ① 指定Excel文件输出位置
    在这里插入图片描述
  • 启动执行

表输入

需求:

  • 将MySQL数据库中的 user 表中的数据抽取到Excel文件中

环境准备:
一 : Kettle整合MySQL数据库

  1. 下载MySQL驱动(链接:https://pan.baidu.com/s/1sW7ggYCw4twVHZVawf97Cw
    提取码:ijgv)
  2. 重启 Kettle

二: 实现步骤

  • 拉动 输入/表输入 、输出/Excel输出 组件、连接两个组件

在这里插入图片描述

  • 配置表输入
    右键表输入—>编辑步骤在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
  • 配置Excel输出组件
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
  • 点击执行
    在这里插入图片描述
  • 结果
    在这里插入图片描述

生成记录

数据仓库中绝大多数的数据都是业务系统生成的动态数据,但是其中一部分维度数据不是动态的,比如:日期维度。静态维度数据就可以提前生成。

需求:

  • 往 Excel 文件中插入1000条记录:id为1,name为itheima,age为18

操作步骤:

  • 拖入 输入/生成记录 组件、输出/Excel输出 组件、连接两个组件

  • 配置生成记录组件

  • 配置Excel输出
    具体实现:

  1. 拖入 输入/生成记录 组件、输出/Excel输出 组件、连接两个组件
    在这里插入图片描述

  2. 配置生成记录组件
    在这里插入图片描述

输出组件

文本文件输出

需求:

  • 从mysql数据库的test库的t_user表 抽取数据到文本文件中

步骤:

1、拖入 一个 输入/表输入、一个 输出/文本文件输出、并连接两个组件
在这里插入图片描述
2、指定 从哪个表中获取数据

3、指定表中的数据输出到哪个文件

表输出

  • Json输出就是把数据写入指定的表
    需求:
  • kettle测试数据\用户数据源\user.json中读取id, name, age字段的数据,
  • 装载到mysql数据库的 t_user_1 表中
    操作步骤:
  1. 拖动 输入/JSON Input组件 ,输出/表输出,连接两个组件

  2. JSON输入配置

  3. 表输出配置

具体操作:
1、拖动 输入/JSON Input组件 ,输出/表输出,连接两个组件

在这里插入图片描述
2、JSON输入配置
在这里插入图片描述
3、表输出配置

在这里插入图片描述

插入更新

  • 插入更新就是把数据库已经存在的记录与数据流里面的记录进行比对

  • 如果不同就进行更新

  • 如果记录不存在,则会插入数据
    需求:
    kettle测试数据\user_new.json 中读数据,并插入或更新到mysql数据库的 t_user_1 表中
    操作步骤:

  • 拖入一个 输入/JSON输入组件,一个 输出/插入更新组件、连接两个组件

  • 配置 JSON输入组件

  • 配置 插入更新 组件

  • 启动执行
    具体实现:

  1. 拖入一个 输入/JSON输入组件,一个 输出/插入更新组件、连接两个组件
    在这里插入图片描述
  2. 配置 JSON输入组件

在这里插入图片描述
3. 配置 插入更新 组件
在这里插入图片描述
4. 启动执行

删除

需求:

  • 从mysql数据库 t_user_1 表中删除指定id为 492456198712198000 的数据

操作步骤:

  1. 拖入一个 输入/自定义常量数据、输出/删除 组件

  2. 连接两个组件
    在这里插入图片描述

  3. 配置自定义常量数据组件
    在这里插入图片描述

  4. 配置删除组件

在这里插入图片描述

这篇关于Kettle:千亿数据仓库基础练习[不学白不学]!!!保证你收益匪浅的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


原文地址:https://blog.csdn.net/weixin_43563705/article/details/105841679
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.chinasem.cn/article/536108

相关文章

浅析如何保证MySQL与Redis数据一致性

《浅析如何保证MySQL与Redis数据一致性》在互联网应用中,MySQL作为持久化存储引擎,Redis作为高性能缓存层,两者的组合能有效提升系统性能,下面我们来看看如何保证两者的数据一致性吧... 目录一、数据不一致性的根源1.1 典型不一致场景1.2 关键矛盾点二、一致性保障策略2.1 基础策略:更新数

从基础到进阶详解Pandas时间数据处理指南

《从基础到进阶详解Pandas时间数据处理指南》Pandas构建了完整的时间数据处理生态,核心由四个基础类构成,Timestamp,DatetimeIndex,Period和Timedelta,下面我... 目录1. 时间数据类型与基础操作1.1 核心时间对象体系1.2 时间数据生成技巧2. 时间索引与数据

安装centos8设置基础软件仓库时出错的解决方案

《安装centos8设置基础软件仓库时出错的解决方案》:本文主要介绍安装centos8设置基础软件仓库时出错的解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录安装Centos8设置基础软件仓库时出错版本 8版本 8.2.200android4版本 javas

Java中JSON格式反序列化为Map且保证存取顺序一致的问题

《Java中JSON格式反序列化为Map且保证存取顺序一致的问题》:本文主要介绍Java中JSON格式反序列化为Map且保证存取顺序一致的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未... 目录背景问题解决方法总结背景做项目涉及两个微服务之间传数据时,需要提供方将Map类型的数据序列化为co

Linux基础命令@grep、wc、管道符的使用详解

《Linux基础命令@grep、wc、管道符的使用详解》:本文主要介绍Linux基础命令@grep、wc、管道符的使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录grep概念语法作用演示一演示二演示三,带选项 -nwc概念语法作用wc,不带选项-c,统计字节数-

python操作redis基础

《python操作redis基础》Redis(RemoteDictionaryServer)是一个开源的、基于内存的键值对(Key-Value)存储系统,它通常用作数据库、缓存和消息代理,这篇文章... 目录1. Redis 简介2. 前提条件3. 安装 python Redis 客户端库4. 连接到 Re

SpringBoot基础框架详解

《SpringBoot基础框架详解》SpringBoot开发目的是为了简化Spring应用的创建、运行、调试和部署等,使用SpringBoot可以不用或者只需要很少的Spring配置就可以让企业项目快... 目录SpringBoot基础 – 框架介绍1.SpringBoot介绍1.1 概述1.2 核心功能2

Spring Boot集成SLF4j从基础到高级实践(最新推荐)

《SpringBoot集成SLF4j从基础到高级实践(最新推荐)》SLF4j(SimpleLoggingFacadeforJava)是一个日志门面(Facade),不是具体的日志实现,这篇文章主要介... 目录一、日志框架概述与SLF4j简介1.1 为什么需要日志框架1.2 主流日志框架对比1.3 SLF4

Spring Boot集成Logback终极指南之从基础到高级配置实战指南

《SpringBoot集成Logback终极指南之从基础到高级配置实战指南》Logback是一个可靠、通用且快速的Java日志框架,作为Log4j的继承者,由Log4j创始人设计,:本文主要介绍... 目录一、Logback简介与Spring Boot集成基础1.1 Logback是什么?1.2 Sprin

MySQL复合查询从基础到多表关联与高级技巧全解析

《MySQL复合查询从基础到多表关联与高级技巧全解析》本文主要讲解了在MySQL中的复合查询,下面是关于本文章所需要数据的建表语句,感兴趣的朋友跟随小编一起看看吧... 目录前言:1.基本查询回顾:1.1.查询工资高于500或岗位为MANAGER的雇员,同时还要满足他们的姓名首字母为大写的J1.2.按照部门