IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> Kettle笔记 —— 利用Transformation和job完成不同数据源的数据处理和写入 -> 正文阅读

[大数据]Kettle笔记 —— 利用Transformation和job完成不同数据源的数据处理和写入

Kettle是一款开源的ETL工具,纯java编写,可以在Window、Linux、Unix上运行,绿色无需安装,数据抽取高效稳定。

Kattle的工程存储方式有(1)以XML形式存储,(2)以资源库方式存储(不同的用户可以共同使用)

Kattle的两种设计:

  1. Transformation(转换):针对于数据的基础转换(着重于数据的ETL过程)
  2. Job(作业):完成整个工作流的控制(着重于不同步骤之间的控制流程)

区别:

  1. 一个Job中可以包含多个Transformation
  2. Transformation是数据流,Job是步骤流
  3. Job按照顺序执行,每一个步骤必须等待前一个步骤结束后才会执行
    Transformation是一次性启动所有的控件,然后数据流从第一个控件开始,一条记录,一条记录的流向最后一个控件

Kattle的组成

  1. Spoon(勺子)(Spoon.bat/Spoon.sh):图形化页面
  2. Pan(煎锅)(Pan.bat/Pan.sh)用命令行的形式调用Transformation
  3. Kitchen(厨房)(Kitchen.bat/Kitchen.sh)用命令行的形式调用Job
  4. Carte(菜单)(Carte.bat/Carte.sh)Carte是一个轻量级的Web容器,用于建立专用的、远程的ETL Server

具体使用

MySQL到MySQL

利用Transformation将数据从一张表输出到另一张表里面
在mysql数据库中创建两张表,分别是stu1和stu2,现在要将stu1的数据写入stu2里面
stu1
在这里插入图片描述

stu2
在这里插入图片描述
然后来到kattle的可视化界面,通过Spoon.bat进入(Windows环境)
在这里插入图片描述
分别在左侧的侧边栏中找到表输入和插入/更新,表输入用来从mysql数据库的表中获取数据,而插入/更新用来将获取到的数据插入到另一张表中。这里按照shift即可在两个控件之间画上一条带箭头的线,这样两个控件之间就建立了联系
这里右上角会有绿色的对号图标,是因为我已经成功运行了一遍

然后双击第一个表输入图标,编辑配置
在这里插入图片描述
这里需要配置的地方有两个,一个是数据库连接配置,一个是sql语句
在这里插入图片描述
数据库连接配置用来连接要使用的数据库
而sql语句用来选择从stu1表中获取哪些数据写入到stu2表中

然后再双击下一个控件,查看相关的配置信息
在这里插入图片描述
数据库连接会自动获取上一个控件 表输入 配置好的信息,而目标表需要自己选择,这里要写入到stu2
用来查询的关键字,用id在stu1表和stu2之间做一个连接,这里指定name和id都可以,但是如果指定age就会报错,因此stu2表中没有age字段,在查询时就会因为查询不到stu2表的age字段而报错
更新字段,用来决定对哪些字段进行更新

用job来完成表数据的写入以及更改

在这里插入图片描述
在start里面可以设置任务的定时
转换里面是之前保存的转换文件,即将stu1表里面的数据写入到stu2中
在这里插入图片描述
在sql里面编写要执行的sql语句脚本
在这里插入图片描述
重新建立数据库的连接,然后在脚本里面编写的sql语句,会在上一步的转换过程结束后执行
最终结果为
在这里插入图片描述

mysql到hbase

在这里插入图片描述
最开始是两个表输入控件,分别从mysql的student表和score表里面获取数据,使用的sql语句分别是
select * from student
select student_id,sum(score) from score group by student_id

对student表需要进行一下过滤,过滤出班级为理科的学生
在这里插入图片描述
在记录集连接控件之前,要对所有的表进行排序,这里就按照student的id字段,和score表的student_id字段进行排序

然后按照id和student_id进行两张表的连接
在这里插入图片描述
在字段选择控件中,可以对表连接后的全部字段进行选择,选择具体将哪些字段的值写入到hbase中

最后的Hbase output控件将两张mysql里面的表连接后的数据写入到hbase中,但是在这个控件里面同样需要配置许多东西

首先是配置hadoop集群
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

测试的时候,有着打勾的选项就够了,其余的不用配置
在这里插入图片描述
然后
在这里插入图片描述
然后在hbase中创建一张表,create ‘kettle_demo’,‘info’
来到mappings的选项页下面,配置一下hbase表的映射关系,点击左下角的Save mapping,将映射关系保存为Mapping1
在这里插入图片描述
然后再回到原先的选项页下面
在这里插入图片描述
保存退出后,点击运行
在这里插入图片描述
到hbase中查看一下
在这里插入图片描述
写入成功

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2021-12-11 15:47:32  更:2021-12-11 15:48:06 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 10:46:31-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码