常用输入步骤
属于ETL中的E,导入数据。
csv文件输入
csv文件是一种有固定格式的文本文件。
具体用法在第一个例子中已经详解,不再赘述。
Excel文件输入
Excel有两种后缀名: .xls和.xlsx。
输入不同的后缀名文件需要选择不同的引擎。
同时也可以选择同一目录下的所有文件。
选择目录,然后通配符号通配文件,也可以选择是否读取当前目录下子目录的文件。
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的所有属性 |
JSON input
一种轻量型的数据交换格式。
JSON核心概念:数组([]中的数据),对象({}中的数据),属性(k:v的数据)
JsonPath的操作符
符号 | 描述 |
$ | 查询的根节点对象,用于表示一个json数据,可以是数组或对象 |
@ | 过滤器断言(filter predicate)处理的当前节点对象,类似于java的this字段 |
* | 通配符,可以表示一个名字或数字 |
… | 上一级 |
. | 一个子节点 |
[’’,’’,…] | 多个子节点 |
[’’,’’,…] | 多个数组下标 |
[start:end] | 数组片段 |
[?()] | 过滤器表达式,结果为布尔型 |
json的输入前需要提前分析好json格式,然后可以进行多重输入保证最后的输出。
文本文件输入
提取日志信息的数据是开发常见的操作,日志信息基本都是文本类型。
生成记录
数据仓库中绝大多数的数据都是业务系统生成的动态数据,但是其中一部分维度数据不是动态的,比如:日期维度。
这样就可以生成1000条固定的静态信息。
表输入
要是想要操控数据库,就得先下载数据库驱动,然后放置在…\pdi解压目录 \data-integration\lib下。
自定义常量数据
在转换中有可能我们需要录入数据,这就需要自定义常量输入