美文网首页数据分析
PDI Kettle 示例 Hello World!

PDI Kettle 示例 Hello World!

作者: 青池烟雨莲 | 来源:发表于2017-12-13 19:03 被阅读0次

示例实现一个功能,将原文本转换为目标文本,格式如下:

源文本
last_name,name
Suarez,Maria
Guimaraes,Joao
Rush,Jennifer
Ortiz,Camila
Rodriguez,Carmen
da Silva,Zoe
目标文本
<Rows>
  <row>
    <msg>Hello, Maria!</msg>
  </row>
  <row>
    <msg>Hello, Joao!</msg>
  </row>
  <row>
    <msg>Hello, Jennifer!</msg>
  </row>
  <row>
    <msg>Hello, Camila!</msg>
  </row>
  <row>
    <msg>Hello, Carmen!</msg>
  </row>
  <row>
    <msg>Hello, Zoe!</msg>
  </row>
</Rows>

通过对源文本与目标文本的观察,容易看出源文本是CSV格式的名单列表,目标文本是XML格式的问候语,此例要做的事,就是读取以名单列表,生成问候语并转存为XML。

A Transformation is made of Steps, linked by Hops. These Steps and Hops form paths through which data flows.

准备实验环境

新建名为Tutorial的目录,用于存放实验所需文件。新建名为list.csv的文件保存源文本。

转换预排

实验将完成以下三个子任务:

  1. 新建转换器
  2. 通过增加步与跳(steps and hops)设计基本的转换流
  3. 为数据集与期望行为配置步骤
新建转换器
  1. 点击 new file 然后选择 转换。
  2. 点击 以不同名称保存转换,将转换保存在Tutorial目录并命名为hello. 转换被会被保存为hello.ktr文件。
通过增加步骤与跳线(steps and hops)设计基本的转换流

步骤是转换中的最小单元。Kettle中有非常多的步骤,它们被分类组织在一起。每一个步骤都被设计成用于完成一个特定的功能,例如产生随机数或在数据库中插入行。
跳线是以图形表示的源与目的步之间的数据流。沿跳线流动的数据构成了源步骤的输出数据与目的步骤的输入数据。一个跳线仅能有一个源与一个目的,但一个步骤可以连接多个跳线。

实验中的转换将完成如下步骤:

  1. 读CSV文件
  2. 构造问候语
  3. 在XML文件中保存问候语

通过拖拽完成如下形式

image
为数据集与期望行为配置步骤

每一个步骤都有一个配置窗口,依照步骤的功能其配置窗的样式也各不相同。

配置 CSV file input 步骤
  1. 改变步骤名称,键入 读入名称列表
  2. 点击 Browse 选择 list.csv
  3. 点击 Get Fields,名单的第一行被当作列名添加在网格中
  4. Switch lazy conversion off
  5. 点击 OK
配置 Modified JavaScript Value Step
  1. 代码区键入
var msg = 'Hello, ' + name + "!";
  1. 点击 Get variables
  2. 点击 OK
配置 XML Output Step
  1. 点击 Browser,指定一个你喜欢的名字
  2. 点击 Fields 页标签
  3. 点击 Get Fields
  4. 删除 last_name, name
  5. 点击 Content type 选择 Element
  6. OK
  7. CTRL-S

怎样工作?

当转换执行时,所有的步骤同时异步执行。
现在,Hello World差不多已经完成了配置工作。转换读取输入文件,通过JavaScript代码为每一行创建一条信息,然后将信息发送到输出文件。这是一个数据量很少的小示例,所有很难注意到其是异步执行的。但要记住,有可能在某刻一个名字已经写入了输出文件,而其它的还留在转换的第一步。

核查,预览及执行

相关文章

  • PDI Kettle 示例 Hello World!

    示例实现一个功能,将原文本转换为目标文本,格式如下: 源文本 目标文本 通过对源文本与目标文本的观察,容易看出源文...

  • Kettle下载和安装

    Kettle简介:Kettle 是 PDI 以前的名称,PDI 的全称是Pentaho Data Integera...

  • Kettle Hello World

    上一篇:etl-bigdata更多信息查看:https://blue-shadow.top 下载,使用Kettle...

  • kettle 同步Oracle 与 Postgres

    kettle 同步Oracle 与 Postgres 分类专栏:Kettle 版权 环境: PDI 8.2 ,wi...

  • Kettle连接oracle数据库

    Kettle连接oracle数据库 Kettle版本:pdi-ce-6.1.0.1-196所需jar:mysql-...

  • react native 基础知识点

    Hello World react native 官方Hello world示例 我们从import开始来看这个程...

  • Kettle 连接数据库所需的jar

    Kettle 连接数据库所需的jar Kettle版本:pdi-ce-6.1.0.1-196 所需jar:mysq...

  • Kettle

    什么是KETTLE Kettle 的主作者是 Matt ,他在 2003 年就开始了这个项目,在 PDI 的代码里...

  • 4 替换空格

    题目 把字符串中出现的空格替换为“%20”。示例“Hello World” 变为“Hello%20World" 结...

  • Kettle中各个版本比较大的变化

    Kettle(现在已经更名为PDI,Pentaho Data Integration)中各个版本比较大的变化 版本...

网友评论

    本文标题:PDI Kettle 示例 Hello World!

    本文链接:https://www.haomeiwen.com/subject/dmraixtx.html