数仓ETL工具之Kettle

Kettle02:Kettle输入控件

2021-05-08  本文已影响0人  勇于自信

本章介绍以下输入控件的使用案例:
01 CSV文件输入
02 文本文件输入
03 Excel输入
04 多文件合并
05 XML
06 JSON Input
07 生成记录
08 数据库表输入

1.CSV文件输入:把CSV文件的数据复制到excel文件

CSV文件:
CSV文件是一种带有固定格式的文本文件









任务分析
输入:csv文件输入
输出:excel输出


2.文本文件输入:把文本文件的数据复制到excel文件

提取日志信息的数据是开发常见的操作,日志信息基本都是文本类型。
如下图所示:



文本文件输入




分析
输入:文本文件输入
输出:excel输出


3.Excel输入:把Excel文件的数据复制到Excel文件

微软的Excel目前有两种后缀名的文件分别为:xls和xlsx。
xls:2007年之前
xlsx:2007年之后



Excel输入




分析
输入:Excel输入
输出:Excel输出

4.多文件合并:读取input目录下以04多文件合并开头的所有Excel数据合并到一个Excel

数据往往也是以多个文件的形式出现,有的数据还会分散在多个子文件夹。
所以合并数据也是开发中非常常见的操作。
多文件合并



分析
输入:Excel输入
输出:Excel输出


5.XML输入:从xml文件中提取testDescription、rowID、v1、v2数据保存到excel中

XML

XML 指可扩展标记语言(EXtensible Markup Language), XML 被设计用来传输和存储数据。


XPath

XPath即为XML路径语言(XML Path Language),它是一种用来确定XML文档中某部分位置的语言。
XPath基于XML的树状结构,提供在数据结构树中找寻节点的能力。
XPath-语法:
选取节点 XPath 使用路径表达式在 XML 文档中选取节点。节点是通过沿着路径或者 step 来选取的。
下面列出了最有用的路径表达式:


Get data from XML



从xml文件中提取testDescription、rowID、v1、v2数据保存到excel中



循环读取的路径/AllRows/Rows/Row

分析
输入:Get data from XML
输出:Excel输出


6.JSON Input :从json文件提取id、field和value数据到excel

JSON

JSON(JavaScript Object Notation, JS 对象简谱) 是一种轻量级的数据交换格式。

JSON核心概念:数组、对象、属性
数组:[ ]
对象:{ }
属性:key:value
例如:


JSONPath

JSONPath类似于XPath在xml文档中的定位,JsonPath表达式通常是用来路径检索或设置Json的。

其表达式可以接受“dot–notation”(点记法)和“bracket–notation”(括号记法)格式

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

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

JSONPath-操作符如下:

JSON Input

从json文件提取id、field和value数据到excel



分析
输入:JSON Input (两次)
输出:Excel输出


7.生成记录:往excel文件中插入1000条记录:id为1,name为itheima,age为18

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



往excel文件中插入1000条记录:id为1,name为itheima,age为18
分析
输入:生成记录
输出:Excel输出


8.表输入:从MySql数据库的mysql库的user表获取所有数据插入到Excel文件

数据库驱动

数据库驱动是不同数据库开发商(比如oracle mysql等)为了某一种开发语言环境(比如java)能够实现统一的数据库调用而开发的一个程序,他的作用相当于一个翻译人员。



根据MySQL数据库不同的版本,下载对应的Java驱动程序。
MySQL和Navicat for MySQL

MySQL驱动下载

下载地址:https://dev.mysql.com/downloads/connector/j/

MySQL驱动

\pdi-ce-8.2.0.0-342\data-integration\lib目录


表输入

新建数据库连接




获取查询的表


从MySql数据库的mysql库的user表获取所有数据插入到Excel文件
分析
输入:表输入
输出:Excel输出

上一篇下一篇

猜你喜欢

热点阅读