快速上手kettle(三)壶中可以放些啥?

news2024/11/25 2:45:33

快速上手kettle(三)壶中可以放些啥?

      • 序言
      • 一 、kettle这壶能装些啥
      • 二、Access输入
        • 2.1 准备Acess数据库和表
        • 2.2 新建一个转换并设置
        • 2.3 启动转换预览数据
      • 三、CSV文件输入
        • 3.1 准备csv文件,并将csv输入控件拖入工作区
        • 3.2 csv输入控件设置
        • 3.3 预览csv文件内容
      • 四、文本文件输入
        • 4.1 准备txt格式文本文件,并将控件拖入工作区
        • 4.2 文本输入控件设置
        • 4.3 启动步骤,浏览数据
      • 五、Excel输入
        • 5.1 准备excel文件,并将控件拖入工作区
        • 5.2 Excel控件设置
        • 5.3 启动转换,预览数据
      • 六 、json文件输入
        • 6.1 json基本组成
        • 6.2 JSON Path
        • 6.3 实践操作
          • 6.3.1 准备json文件,并将json input控件拖入工作区
          • 6.3.2 JSON 控件设置
          • 6.3.3 启动转换,预览数据
      • 七、xml 输入
        • 7.1 准备xml文件
        • 7.2 XPath
        • 7.3 实践操作
          • 7.3.1 将xml输入控件拖入工作区
          • 7.3.2 xml控件设置
          • 7.3.3 启动转换,预览数据
      • 八、表输入
        • 8.1 将表输入控件拖入工作区
        • 8.2 表输入控件设置
        • 8.3 启动转换,预览表数据
      • 九、 生成记录
        • 9.1 将生成记录控件拖入工作区
        • 9.2 生成记录控件设置
        • 9.3 启动转换,预览数据
      • 十、小结

序言

快速上手kettle开篇中,我们将kettle比作壶,并对这个壶做了简单介绍。

而上一期中我们实现了①将csv文件通过kettle转换成excel文件;

②将excel文件通过kettle写入到MySQL数据库表中 这两个案例。

相信大家跟我一样,对kettle已经有了初步认识,并且对这强大的工具产生了兴趣。

今天这小节,我们来看看kettle 这“壶”里面到底能放些啥东西?

一 、kettle这壶能装些啥

启动kettle,在转换–>输入下面有很多东西,如下截图。有图可以看出这kettle“真能装”。

可以把各种五花八门的数据丢到这壶里,kettle也是来者不拒。我们日常能用到的数据基本都能往里面塞。

–kettle能装的东西–kettle能装的东西
输入1输入2

一眼望去,能看到不少“大熟人”,Access输入CSV文件输入Excel输入JSON输入XML输入文本文件输入YAML输入表输入等等

不知道你对上面提到的“大熟人”了不了解,其实不了解也没关系。

在后面的模块中,会把这些“大熟人”分别介绍给你。并且保证你过目不忘,再次遇到就能“称兄道弟”

二、Access输入

Access是微软公司开发的一个数据库管理软件.它像个保险柜,可以帮你存储和管理各种各样的数据。

Access是我们平常会用到数据库,接下来我们就新建一个Access数据库为例,来简单说一说怎么使用Access这个输入控件

2.1 准备Acess数据库和表

新建一个access数据库,并建一个云襄传的表,然后往里面添加一些数据
云襄传

2.2 新建一个转换并设置

–①将Access输入控件拖入工作区–②选择2.1新建的云襄传.accdb
image-20230529231939231image-20230529232115886
–③添加文件–④ 选择数据库中数据表
image-20230529232332208image-20230529232521630
–④ 获取字段–⑤ 预览数据
image-20230529232645861image-20230529232754443

2.3 启动转换预览数据

–①启动转换–②预览数据
image-20230529232957930image-20230529233131829

注: 启动执行转换后,Preview date tab页面如果加载出数据说明输入控件配置是成功的

三、CSV文件输入

CSV文件是一个用逗号分隔的固定格式的文本文件,这种文件后缀名为.csv,可以用Excel或者文本编辑器打开。

在日常工作中,我们经常会需要将CSV文件转换为其他格式的数据

3.1 准备csv文件,并将csv输入控件拖入工作区

csv输入控件

3.2 csv输入控件设置

csv文件输入设置

3.3 预览csv文件内容

可以在设置界面点击**【预览】** 按钮查看csv数据,也可以启动步骤预览数据、

– 预览按钮预览数据–启动步骤预览csv文件
预览文件image-20230531074028281

四、文本文件输入

我们经常需要将服务器上的日志文件(文本文件)数据或者其他文本数据提取出来,然后放到excel,这样查看起来就很方便

4.1 准备txt格式文本文件,并将控件拖入工作区

拖入工作区

4.2 文本输入控件设置

–①选择txt文本文件–②预览文件内容
选择文本文件预览内容
–③设置分割符–④ 获取字段
设置分隔符获取字段

4.3 启动步骤,浏览数据

启动步骤

五、Excel输入

excel 对于我们来说并不陌生,时我们平常接触到最多的文件格式

5.1 准备excel文件,并将控件拖入工作区

拖入控件

5.2 Excel控件设置

–① 选择excel文件–② 获取工作表名称
image-20230531222321178image-20230531222514990
– ③ 获取字段,并设置数据格式–④ 预览数据
image-20230531223004644image-20230531223338937

5.3 启动转换,预览数据

上一步【预览记录】 如果有数据显示出来,基本上excel设置时成功的了

当然我们可以启动转换,然后预览excel文件中的数据

image-20230531223637622

六 、json文件输入

json 可以算是现在市面上用的比较多的数据结构了,是JavaScript对象,是一种轻量级的数据交换格式。

可以很方便的在不同语言之间传递

6.1 json基本组成

  • 对象:{ }
  • 数组:[ ]
  • 属性:key:value

6.2 JSON Path

JSON Path 用来定位json节点数据

Json Path 包含两种写法

  • 点记法:$.store.book[0].title

  • 括号记法:$ [ ‘ store ’ ] [ ‘ book ’ ] [ 0 ] [ ‘title’ ]

使用过程中一些常用符号 含义

–符号–描述
$查询根节点对象,用于表示一个json数据,可以数组或对象
@表示当前节点对象,类似于Java中的this对象
*可以表示一个数字或字符
''类似于递归搜索
.<name>表示一个子节点
['<name>'(,'<name>')]表示一个或多个子节点
[<number>(,<number>)]表示一个或多个数组下标
[start:end]数组片段,区间为(start,end) 不包含end
[?(<expression>)]过滤器表达式,结果为Boolean类型

上面说了一些常用符号的使用,我们就以实际的json为例,来看看json里的节点怎么取

{
    "data":{
        "longSeason":[
            {   "actor":"范伟",
                "role":"王响",
                "sex":"男",
                "age":56
            },
            {   "actor":"秦昊",
                "role":"龚彪",
                "sex":"男",
                "age":40
            },
            {   "actor":"李庚希",
                "role":"沈默",
                "sex":"女",
                "age":18
            },
            {   "actor":"陈明昊",
                "role":"马德胜",
                "sex":"男",
                "age":55
            }
        ],
        "surname":[
            {   "actor":"陈晓",
                "role":"云襄",
                "sex":"男",
                "age":28
            },
            {   "actor":"毛晓彤",
                "role":"舒亚男",
                "sex":"女",
                "age":18
            },
            {   "actor":"许龄月",
                "role":"柯梦兰",
                "sex":"女",
                "age":18
            },
            {
               "actor":"刘冠麟",
               "role":"金十两",
               "sex":"男",
               "age":35

            },
            {   "actor":"唐晓天",
                "role":"苏鸣玉",
                "sex":"男",
                "age":25
            }

        ]
    }

}
–取出漫长季节中所有演员–结果
$.data.longSeason[*].actor[“范伟”,“秦昊”,“李庚希”,“陈明昊”]
$..longSeason..actor [“范伟”,“秦昊”,“李庚希”,“陈明昊”]

6.3 实践操作

6.3.1 准备json文件,并将json input控件拖入工作区

拖入工作区

6.3.2 JSON 控件设置
–① 选择json文件并添加–② 选择字段
选择并添加image-20230601224550176
– ③ 查看表达式– ④ 预览节点数据
image-20230601224803349image-20230601224938534
6.3.3 启动转换,预览数据

启动转换预览数据

七、xml 输入

xml是一种可扩展标记语言,XML 和上面说的json一样用来传输和存储数据

7.1 准备xml文件

我们后面的演示都用下面的xml为例子

<data>
    <longSeason>
        <actor>范伟</actor>
        <role>王响</role>
        <sex></sex>
        <age>56</age>
    </longSeason>
    <longSeason>
        <actor>秦昊</actor>
        <role>龚彪</role>
        <sex></sex>
        <age>40</age>
    </longSeason>
    <longSeason>
        <actor>李庚希</actor>
        <role>沈默</role>
        <sex></sex>
        <age>18</age>
    </longSeason>
    <longSeason>
        <actor>陈明昊</actor>
        <role>马德胜</role>
        <sex></sex>
        <age>55</age>
    </longSeason>
    <surname>
        <actor>陈晓</actor>
        <role>云襄</role>
        <sex></sex>
        <age>28</age>
    </surname>
    <surname>
        <actor>毛晓彤</actor>
        <role>舒亚男</role>
        <sex></sex>
        <age>18</age>
    </surname>
    <surname>
        <actor>许龄月</actor>
        <role>柯梦兰</role>
        <sex></sex>
        <age>18</age>
    </surname>
    <surname>
        <actor>刘冠麟</actor>
        <role>金十两</role>
        <sex></sex>
        <age>35</age>
    </surname>
    <surname>
        <actor>唐晓天</actor>
        <role>苏鸣玉</role>
        <sex></sex>
        <age>25</age>
    </surname>
</data>

7.2 XPath

在说json输入控件中,我么介绍了JSON Path, 这里是xml输入控件,也有类似XPath 来定位xml中节点的位置

–表达式–描述
nodename 选取此节点的所有节点
/ 从根节点选取
// 从匹配选择的当前节点选择文档中的节点,而不考虑他们的位置
. 选取当前节点
.. 选取当前节点的父节点
@ 属性
–取出漫长季节中所有演员–结果
/data/longSeason/actor [“范伟”,“秦昊”,“李庚希”,“陈明昊”]

7.3 实践操作

7.3.1 将xml输入控件拖入工作区

image-20230601232215755

7.3.2 xml控件设置
–① 选择xml文件并添加– ② 获取xml文档读取路径
添加文件读取循环路径
– ③ 获取字段– ④ 预览
获取字段预览
7.3.3 启动转换,预览数据

image-20230601233132670

八、表输入

由于涉及到数据库表相关操作,所以我们新建转换之后需要先建立DB连接。

建立DB连接的方式我们在上一小节小试牛刀中已经提过,这里就不展开了。我们还是以MySQL为例子来说表输入。

DB连接

8.1 将表输入控件拖入工作区

image-20230603080323531

8.2 表输入控件设置

– ①获取SQL查询语句– ② 点击【预览】按钮预览表数据
获取sql语句image-20230603080755724

8.3 启动转换,预览表数据

预览表数据

九、 生成记录

在日常工作中我们经常需要批量造一些测试数据,通过生成记录这个输入控件就可以完成。

9.1 将生成记录控件拖入工作区

生成记录拖入工作区

9.2 生成记录控件设置

– ① 填写需要数据的相关信息– ② 预览生成的数据
image-20230603082158964image-20230603082254603

9.3 启动转换,预览数据

启动转换预览数据

到此,10条测试数据就造好了

十、小结

本篇文章我们主要是说了九个kettle的常用输入控件(kettle壶里能放写啥东西进去)。

kettle的输入控件就代表着kettle能处理一些什么格式的数据,其实它还有其他输入控件,这里就不一一例举了。

大家如果感兴趣,可以将输入下面的每个控件都去试试。

本期内容到此就结束了,希望对你有所帮助。

这一期说了输入控件,那下一期就到了输出控件

我们下一期再见 (●’◡’●)

上一篇:快速上手kettle(一)壶之简介
下一篇:快速上手kettle(三):kettle常用输入控件使用(小编正在玩命更新中)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/614669.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

JDBC 拾枝杂谈—入门篇(通俗易懂)

目录 一、前言 二、JDBC介绍 1.基本概述 : 2.基本原理 : 三、JDBC模拟 1.模拟接口 &#xff1a; 2.模拟实现类 : 3.模拟测试类 : 4.模拟扩展 : 四、JDBC入门 1.编写JDBC程序的核心四部曲 : &#xff08;全文背诵&#xff09; 2.准备工作 : ①导入jar包 ②创建测试表 …

Sys Tick【转】

STM32学习及应用笔记一&#xff1a;SysTick定时器学习及应用 - STM32/STM8技术论坛 - 电子技术论坛 - 广受欢迎的专业电子论坛! (elecfans.com) 1、SysTick究竟是什么&#xff1f; 关于SysTick在STM32的资料中并没有详细的介绍&#xff0c;这可能由于SysTick是ARM内核的东西。在…

在用对讲机中竟有近5成属于违规使用?

目前对讲机在很多领域和场景中都有着广泛的应用&#xff0c;包括建筑工地、宾馆饭店、住宅小区、大型商场超市、安保活动、物业管理等。 不过据非官方数据统计&#xff0c;在用对讲机中竟有近5成属于违规使用&#xff0c;这严重干扰了城市上空的无线电波秩序。 根据近年来无线…

多行 SQL 格式化换行调整(数据清洗、数据迁移)

多行 SQL 格式化换行调整&#xff08;数据清洗、数据迁移&#xff09; 原数据数据如下&#xff1a; select * from user_info;select * from user_info; select * from user_info;INSERT INTO student VALUES (107, zhao, NULL, 3, 北京); select * from user_info;INSERT INT…

哪个骨传导蓝牙耳机的好,几款高性能的骨传导蓝牙耳机分享清单

骨传导耳机是目前在运动领域最火热的产品&#xff0c;也是最适合运动的耳机&#xff0c;它的原理是通过颅骨将声音转化为神经冲动&#xff0c;通过内耳传至听觉中枢&#xff0c;因此不会对耳朵造成任何损伤&#xff0c;它同时也可以让耳朵更好地听到周围的声音。能够很好的提高…

hbuilderx+uniapp基于安卓的古汉语学习考试系统 微信小程序

在Internet高速发展的今天&#xff0c;我们生活的各个领域都涉及到计算机的应用&#xff0c;其中包括古汉语学习软件APP的网络应用&#xff0c;在外国学习软件已经是很普遍的方式&#xff0c;不过国内的古汉语学习软件可能还处于起步阶段。古汉语学习软件具有古汉语、学习视频等…

2013 年一月联考逻辑真题

2013 年一月联考逻辑真题 真题&#xff08;2013-26&#xff09;-可能性推理的因果关系 26.某公司自去年初开始实施一项“办公用品节俭计划”&#xff0c;每位员工每月只能免费领用限量的纸笔等各类办公用品。年末统计时发现&#xff0c;公司用于各类办公用品的支出较上年度下降…

深度:解密智能汽车产业的3个世纪之问!

‍数据智能产业创新服务媒体 ——聚焦数智 改变商业 汽车行业正在经历一场前所未有的变革&#xff0c;要理解这场深刻的汽车变革&#xff0c;我们从全新的电子电气架构&#xff0c;核心零部件的大量替换&#xff0c;到全新的制造工艺&#xff0c;探究电动车与燃油车的本质区别…

防雷工程中防雷等级的意义

在现代社会中&#xff0c;各种电子设备和通信系统已经成为我们生活中不可或缺的一部分。然而&#xff0c;雷击是这些设备和系统的一个常见问题&#xff0c;不仅会导致设备损坏&#xff0c;还可能对人们的生命财产造成威胁。因此&#xff0c;防雷措施变得尤为重要。 为了保护设…

OC 知识 多线程 GCD(源码)

一直觉得自己写的不是技术&#xff0c;而是情怀&#xff0c;一个个的教程是自己这一路走来的痕迹。靠专业技能的成功是最具可复制性的&#xff0c;希望我的这条路能让你们少走弯路&#xff0c;希望我能帮你们抹去知识的蒙尘&#xff0c;希望我能帮你们理清知识的脉络&#xff0…

Unity与Android交互(2)——常用交互方式

常用AndroidJavaClass/AndroidJavaObject实现C#调用Java代码&#xff0c;常用UnitySendMessage实现Java调用C#代码。 【调用代码示例】 Java代码为&#xff1a; package com.test.addtest;import com.unity3d.player.UnityPlayer;public class JavaTestClass {public static…

BM1684X移植自写算法记录

移植步骤------------------------------------------------------------------------ 首先搭建好自己的网络模型&#xff0c;并导出为onnx格式--具体可以参照--> https://github.com/warren-wzw/MNIST-pytorch.git 将onnx模型使用tpu-mlir工具转化为bmodel格式--具体可以…

2.3 TensorRT基于Entropy的校准

tensorRT的Entropy Calibration的伪代码&#xff0c;具体流程如下&#xff1a; for循环&#xff1a;遍历所有可能的分割点&#xff0c;从128到2048reference_distribution_P&#xff1a;将原始直方图bins按照当前分割点i进行切割&#xff0c;得到左侧的i个bin。outliers_count…

构建新型智能化智慧档案馆十防一体化解决技术方案

HONSOR现代化智慧档案馆智慧档案库房自动化温湿度环境安全监控系统方案【推介】 目前&#xff0c;我国档案正处于现代化科技飞升的起点&#xff0c;以物联网、大数据、智能化、云计算等为标志的网络充斥到社会生活、生产的各个角落。在我国&#xff0c;档案馆产生与发展经历了一…

为了搞懂ERP,我连问 ChatGPT 30个问题,通透!

我对ERP有很多的疑问&#xff0c;这次向ChatGPT请教&#xff0c;连问30个问题&#xff0c;瞬间觉得通透了很多&#xff0c;以下是我的问题和ChatGPT的回复&#xff0c;分为概念篇、架构篇和生态篇三部分&#xff0c;希望能带给你新的启示。 一、概念篇 1、ERP是什么&#xff1f…

图论与算法(5)图的广度优先遍历应用

1. 广度优先遍历 1.1 树的广度优先遍历 树的广度优先遍历&#xff08;Breadth-First Traversal&#xff09;&#xff0c;也称为层次遍历&#xff0c;是一种按层次顺序逐级访问树节点的遍历方式。在广度优先遍历中&#xff0c;先访问树的根节点&#xff0c;然后按照从上到下、…

高频面试八股文用法篇(二) hive中几种排序类型区别

目录 排序函数 1、order by 2、sort by 3、distribute by 4、cluster by 总结 排序类型 1、order by order by是与关系型数据库的用法是一样的。select * from emp order by empno desc; 针对全局数据进行排序&#xff0c;所以最终只会有1个reduce&#xff0c;因…

开源 Golang 微服务入门一: HTTP 框架 Hertz

前言 从本篇笔记开始将介绍 Go 框架三件套&#xff08;Web / RPC / ORM&#xff09;&#xff0c;框架的学习有助于后续课程的学习以及大项目的完成。本文主要介绍字节跳动的开源 Golang 微服务 HTTP 框架 Hertz。先了解一下三件套的相关基本知识&#xff0c;做一下铺垫&#x…

ArgoCD(二)--部署

3.2 ArgoCD部署 ArgoCD部署官网&#xff1a;https://argo-cd.readthedocs.io/en/stable/getting_started/ ArgoCD有两种部署方式&#xff1a;多租户部署和核心化部署&#xff1a; 多租户 常用于多个应用程序开发团队提供服务&#xff0c;并由平台团队维护的场景&#xff1b; …