常用输入步骤

属于ETL中的E,导入数据。

csv文件输入

csv文件是一种有固定格式的文本文件。

具体用法在第一个例子中已经详解,不再赘述。

Excel文件输入

Excel有两种后缀名: .xls和.xlsx。

输入不同的后缀名文件需要选择不同的引擎。

kettle 导入sqlite3速度 kettle导入excel文件_子节点

同时也可以选择同一目录下的所有文件。

选择目录,然后通配符号通配文件,也可以选择是否读取当前目录下子目录的文件。

kettle 导入sqlite3速度 kettle导入excel文件_数据_02

Get data from XML

XML是可扩展标记语言,主要用来传输与存储数据。

读取xml文件的话,就需要使用xpath,xpath即XML路径语言,他是一种用来确定XML文档中某部分位置的语言。

xpath基于XML的树状结构,提供在数据结构树中找寻节点的能力。

表达式

描述

nodename

选取此节点的所有子节点。

/

从根节点选取。

//

从匹配选择的当前节点选择文档中的节点,而不考虑它们的位置。

.

选取当前节点。


选取当前节点的父节点。

@

选取属性。

div

选取div元素的所有子节点

/div

选取根元素div

div/p

选取div元素下的子元素p

//div

选取所有的div元素

div//p

选取div元素下的所有p元素

//@lang

选取名为lang的所有属性

kettle 导入sqlite3速度 kettle导入excel文件_XML_03

kettle 导入sqlite3速度 kettle导入excel文件_子节点_04

kettle 导入sqlite3速度 kettle导入excel文件_数据_05

JSON input

一种轻量型的数据交换格式。

JSON核心概念:数组([]中的数据),对象({}中的数据),属性(k:v的数据)

JsonPath的操作符

符号

描述

$

查询的根节点对象,用于表示一个json数据,可以是数组或对象

@

过滤器断言(filter predicate)处理的当前节点对象,类似于java的this字段

*

通配符,可以表示一个名字或数字


上一级

.

一个子节点

[’’,’’,…]

多个子节点

[’’,’’,…]

多个数组下标

[start:end]

数组片段

[?()]

过滤器表达式,结果为布尔型

json的输入前需要提前分析好json格式,然后可以进行多重输入保证最后的输出。

kettle 导入sqlite3速度 kettle导入excel文件_kettle 导入sqlite3速度_06

文本文件输入

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

kettle 导入sqlite3速度 kettle导入excel文件_XML_07

生成记录

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

kettle 导入sqlite3速度 kettle导入excel文件_kettle 导入sqlite3速度_08

这样就可以生成1000条固定的静态信息。

表输入

要是想要操控数据库,就得先下载数据库驱动,然后放置在…\pdi解压目录 \data-integration\lib下。

kettle 导入sqlite3速度 kettle导入excel文件_大数据_09

kettle 导入sqlite3速度 kettle导入excel文件_子节点_10

自定义常量数据

在转换中有可能我们需要录入数据,这就需要自定义常量输入

kettle 导入sqlite3速度 kettle导入excel文件_数据_11


kettle 导入sqlite3速度 kettle导入excel文件_子节点_12