快速上手kettle(二)小试牛刀

这篇具有很好参考价值的文章主要介绍了快速上手kettle(二)小试牛刀。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录
  • 一 、前言
  • 二 、两个小目标
  • 三、 kettle核心概念介绍
    • 3.1 转换
      • 3.1.1 步骤(Step)
      • 3.1.2 跳(Hop)
      • 3.1.3 元素据
      • 3.1.4 数据类型
      • 3.1.5 并发执行
    • 3.2 作业
  • 四、实践操作
    • 4.1 案例1 将csv文件转换成excel文件
      • 4.1.1 在kettle中新建一个转换
      • 4.1.2选择输入控件并设置
      • 4.1.3 选择输出控件并设置
      • 4.1.4 按住shift 通过将输入输出两步骤连接起来
      • 4.1.5 点击启动按钮执行转换
      • 4.1.6查看日志,并检查是否成功
    • 4.2 案列2 将excel文件导入MySQL数据库
      • 4.2.1和上面步骤一样我们需要新建一个转换
      • 4.2.2 新建数据库连接
      • 4.2.3 拖入Excel输入控件并设置
      • 4.2.4 拖入表输出控件并设置
      • 4.2.5 点击启动按钮进行转换
      • 4.2.6 查看日志并检查MySQL数据表中是否有数据

一 、前言

上一期中大概介绍了下kettle,并已经把kettle下载安装完了。

这一期我们就来简单体验下kettle怎么进行数据转换的。

二 、两个小目标

我们这里呢就以两个小案例来体验下kettle

  • 将csv文件通过kettle转换成excel文件
  • 将excel文件通过kettle写入到数据库表中

三、 kettle核心概念介绍

kettle 被称为可视化编程语言,可以完成复杂的etl工作流。kettle里的代码就是转换和作业。

所以呢,我们首先就来说说转换和作业。

3.1 转换

从下面截图中,我们看到转换包含了很多核心对象,说明其包含了很多功能。后面有得我们学的了(开个玩笑)

--转换包含元素 --转换核心对象
快速上手kettle(二)小试牛刀 快速上手kettle(二)小试牛刀 快速上手kettle(二)小试牛刀
  • 转换(transaformation)负责数据的输入、转换、校验和输出等,kettle中转换完成了ETL的全部工作

  • 转换由多个步骤 (Step) 组成。包含各种文件格式的数据输入/输出 (如csv文件输入、sql文件输出、sql脚本执行、各种查询等等)

  • 如果各个步骤之间需要数据库操作,我们就需要建立DB连接

  • 各个步骤之间使用跳(Hops)来连接。我们可以将跳理解为一条道路,数据有一个步骤(驿站)通过(道路)流向下一步骤(驿站)

  • kettle中最小的数据单元是

快速上手kettle(二)小试牛刀

3.1.1 步骤(Step)

步骤是转换里的基本组成部分,上面截图中包含了两个步骤
CSV文件输入
Excel输出

  • 每个步骤都会涉及到数据行

  • 步骤将数据写到与之相连的一个或多个输出跳(hop),再传送到跳的另一端的步骤

  • 大多数的步骤都可以有多个输出跳。一个步骤的数据发送可以被设置为分发复制

    快速上手kettle(二)小试牛刀

3.1.2 跳(Hop)

是两个步骤(驿站)之间的道路(带箭头的连线)

  • 是两个步骤之间的数据行缓存

  • 当行集了,向行集写数据的步骤将停止写入,直到行集里又有了空间

  • 当行集了,从行集读取数据的步骤停止读取,直到行集里又有可读的数据行

快速上手kettle(二)小试牛刀

可以通过如下方式查看和修改行缓存大小

①右键转换-->设置 ② 选择"杂项"tab页
快速上手kettle(二)小试牛刀 快速上手kettle(二)小试牛刀
3.1.3 元素据

每个步骤在输出数据行时都有对字段的描述,这种描述就是数据行的元数据

通常包含下面一些信息。

名称:数据行里的字段名是唯一的。

数据类型:字段的数据类型。

格式:数据显示的方式,如Integer的#、0.00。

长度:字符串的长度或者BigNumber类型的长度。

精度:BigNumber数据类型的十进制精度。

货币符号:¥

小数点符号:十进制数据的小数点格式。不同文化背景下小数点符号是不同的,一般是点(.)或逗号(,)。

分组符号:数值类型数据的分组符号,不同文化背景下数字里的分组符号也是不同的,一般是点(.)或逗号(,)或单引号(’)

这里的输入文件十csv格式数据,所以分组符号是逗号","

快速上手kettle(二)小试牛刀

3.1.4 数据类型

数据以数据行(可以理解为一个表格中的一行) 的形式沿着步骤移动,每个数据行又有多个字段元素(可以理解为一个单元格)构成

就像在excel中,每个单元格都可以设置数据格式一样,这里数据行中的字段也有自己的数据类型.

常见的数据类型有以下几种

--数据类型 --说明
String 字符类型数据
Number 双精度浮点数
Integer 带符号长整型(64位)
BigNumber 任意精度数据
Date 带毫秒精度的日期时间值
Boolean 取值为true和false的布尔值类型
Binary 二进制字段可以包含图像、声音、视频及其他类型的二进制数据

快速上手kettle(二)小试牛刀

3.1.5 并发执行

我们经常需要处理大量的数据,所以设计了这样的行集缓存规则,使得每个步骤就是一个独立线程.所有步骤都以并发方式执行.

当转换启动后,所有步骤都同时启动,从它们的输入跳中读取数据,并把处理过的数据写到输出跳.

直到输入跳里不再有数据,就中止步骤的运行。

当所有的步骤都中止了,整个转换就中止了

如果想要一个任务沿着指定的顺序执行,那么就要使用下面所讲的“作业”来做流程控制

3.2 作业

负责定义一个完成整个工作流的控制,如将转换的结果发送邮件给相关人员.

因为转换(transformation)以并行方式执行,所以必须存在一个串行的调度工具来执行转换,这就是 Kettle中的作业

四、实践操作

4.1 案例1 将csv文件转换成excel文件

4.1.1 在kettle中新建一个转换

快速上手kettle(二)小试牛刀

4.1.2选择输入控件并设置

核心对象-->输入-->CSV文件输入 (将控件拖入工作区)

① 选择CSV文件输入控件 ②将控件拖入工作区
快速上手kettle(二)小试牛刀 快速上手kettle(二)小试牛刀
③ 选择源文件 ④ 检查csv数据是否正常读出
快速上手kettle(二)小试牛刀 快速上手kettle(二)小试牛刀
4.1.3 选择输出控件并设置
① 选择Excel输出控件 ②将控件拖入工作区
快速上手kettle(二)小试牛刀 快速上手kettle(二)小试牛刀
③ 设置输出文件名
快速上手kettle(二)小试牛刀
4.1.4 按住shift 通过将输入输出两步骤连接起来

快速上手kettle(二)小试牛刀

4.1.5 点击启动按钮执行转换

快速上手kettle(二)小试牛刀

4.1.6查看日志,并检查是否成功
①日志没报错 ②文件也写入成功了
快速上手kettle(二)小试牛刀 快速上手kettle(二)小试牛刀

4.2 案列2 将excel文件导入MySQL数据库

4.2.1和上面步骤一样我们需要新建一个转换

快速上手kettle(二)小试牛刀

4.2.2 新建数据库连接

由于案例2需要涉及到MySQL数据库,所以我们需要建立DB连接

①下载MySQL驱动(需要下载对应版本的) 我用的是MySQL5.7 ,所以这里下载5.1.37 版本驱动

官方地址:https://downloads.mysql.com/archives/c-j/

快速上手kettle(二)小试牛刀

② 将下载的好的MySQL驱动包放入lib文件夹下

快速上手kettle(二)小试牛刀

③新建DB连接

快速上手kettle(二)小试牛刀

注: 如果没有下载驱动包或者驱动包版本与MySQL版本不一致,会包如下错误

快速上手kettle(二)小试牛刀

4.2.3 拖入Excel输入控件并设置

① 将Excel输入控件拖入工作区

快速上手kettle(二)小试牛刀

②设置Excel输入控件

快速上手kettle(二)小试牛刀

快速上手kettle(二)小试牛刀

快速上手kettle(二)小试牛刀

快速上手kettle(二)小试牛刀

直到点击预览记录后获取到如下截图所示数据,说明输入设置成功了

快速上手kettle(二)小试牛刀

4.2.4 拖入表输出控件并设置

① 将表输出控件拖入工作区

快速上手kettle(二)小试牛刀

② 通过 将输入输出控件连接起来

快速上手kettle(二)小试牛刀

③设置需要导入数据的目标表

快速上手kettle(二)小试牛刀

④ 匹配数据库字段

快速上手kettle(二)小试牛刀

4.2.5 点击启动按钮进行转换

快速上手kettle(二)小试牛刀

4.2.6 查看日志并检查MySQL数据表中是否有数据

①日志显示转换成功

快速上手kettle(二)小试牛刀

② 我们再来看看数据库test的t_tv 表中也有数据了

快速上手kettle(二)小试牛刀

到此通过两个案例小试牛刀之后都转换成功了,是不是有点小成就感呢。

其实这只是kettle工具的冰山一角,从kettle那么多核心对象可以看得出来,它还有很多很多很多得玩法等着我们去开启。

本期内容到此就结束了,希望内容对你有所帮助,我们下期再见 (●'◡'●)

上一篇:快速上手kettle(一)壶之简介
下一篇:快速上手kettle(三):kettle常用输入控件使用(小编正在玩命更新中)文章来源地址https://www.toymoban.com/news/detail-462935.html

到了这里,关于快速上手kettle(二)小试牛刀的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 运维Shell脚本小试牛刀(一)

    运维Shell脚本小试牛刀(一) 运维Shell脚本小试牛刀(二) 运维Shell脚本小试牛刀(三)::$(cd $(dirname $0); pwd)命令详解 运维Shell脚本小试牛刀(四): 多层嵌套if...elif...elif....else fi_蜗牛杨哥的博客-CSDN博客 Cenos7安装小火车程序动画 运维Shell脚本小试牛刀(五):until循环 运维Shell脚本小试牛刀

    2024年02月11日
    浏览(31)
  • 【LED子系统】八、小试牛刀

    个人主页:董哥聊技术 我是董哥,高级嵌入式软件开发工程师,从事嵌入式Linux驱动开发和系统开发,曾就职于世界500强公司! 创作理念:专注分享高质量嵌入式文章,让大家读有所得!

    2024年02月06日
    浏览(30)
  • 手动开发-实现SpringMVC底层机制--小试牛刀

    在这里说的底层机制的实现主要是指:前端控制器、Controller、Service注入容器、对象自动装配、控制器方法获取参数、视图解析、返回json数据。 前端控制器就是核心控制器。在这里我们可以设计一个Servlet来充当核心控制器: LingDispatcherServlet.java .这个控制器的作用主要是接收

    2024年02月08日
    浏览(36)
  • 小试牛刀 -- Kali Linux安装在手机

         Kali Linux是基于Debian的Linux的发行版,里面有许多关于网络渗透的程序,是目前在网络安全领域经常使用的工具,因此为了便于学习,在此进行Kali Linux的安装,主要安装在华为P50上,操作系统是鸿蒙4.0。    2.1 Termux的安装及配置        (1)Termux的安装        在安装Te

    2024年01月23日
    浏览(38)
  • 爬虫小试牛刀(爬取学校通知公告)

    完成抓取并解析DGUT通知公告12页数据,并提交excel文件格式数据,数据需要包含日期标题,若能够实现将详情页主体内容与发布人信息数据也一并抓取更佳 提交内容:Excel数据文件 首先看到页面呈现规则的各个方框,这意味着它们之间的一定是一样的 此处该有图 我们点开后

    2024年02月09日
    浏览(31)
  • 牛刀小试---二分查找(C语言)

    二分查找,也叫折半查找,是一种在 有序数组 中查找特定元素的算法。它通过比较中间元素和目标值的大小,将查找范围缩小为一半,直到找到目标元素或者查找范围为空。  1. 确定搜索范围:首先,需要确定要在哪个区间内进行查找。这可以通过比较目标值与中间元素的

    2024年01月17日
    浏览(29)
  • Python OpenCV 牛刀小试(练习)

            OpenCV在读取图像时,默认的颜色空间是BGR(蓝绿红),而在大多数其他的图像处理库和图像格式中,使用的颜色空间是RGB(红绿蓝)。因此,当你需要使用OpenCV处理图像,然后将处理结果传递给其他库(如matplotlib、PIL等)进行进一步处理或显示时,你需要将颜色空间

    2024年02月21日
    浏览(29)
  • 【数据结构】数据结构小试牛刀之单链表

    不讲虚的啦,直接肝! 单链表所要实现的功能罗列如下: 初始化工作我们先初始化一个节点类型,类型中包括了数据域和指针域,数据与中保存着该节点要保存的数据,指针域则保存着链表下一个节点的地址: 然后我们在创建一个函数,用于创建一个新的节点,因为后面我

    2023年04月24日
    浏览(49)
  • 代码还原小试牛刀(一):魔改的MD5

    2023年了,MD5已经是最基础的签名算法了,但如果你还只是对输入做了简单的MD5,肯定会被同行们嘲笑。加点盐(salt)是一种基本的提升,但在这个就业形势严峻的时代,仅仅加盐肯定不够了。 今天我们就来讲一讲魔改的MD5,让这个算法高大上起来。 1、菜卷 最简单的魔改方

    2024年02月04日
    浏览(33)
  • Web漏洞-XSS理论和靶场小试牛刀(一)

    ★★实战前置声明★★ 文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与学习之用,读者将其信息做其他用途,由用户承担全部法律及连带责任,文章作者不承担任何法律及连带责任。 想要知道怎么XSS攻击,是需要了解一些HTML和JS基础知识点的,不然后面一些脚本注

    2024年02月05日
    浏览(40)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包