ETL工具之Kettle开发教程第二节-输入控件

就是将数据从其它载体中输入到kettle中,即抽取数据过程,我们可以从数据库表中获取,从文本件,EXCEL,XML等文件获取,还可以只在kettle中模拟数据,或者获取系统中的参数,往往是kettle的开始部分。

在这里插入图片描述

生成记录

生成一些固定字段的记录,主要用来模拟一些数据进行测试;
注意:如果【生成记录】前面还有其他转换操作,前面的记录是无法正确读取的。所以该控件一般作为开始控件。

在这里插入图片描述
获取固定数据在这里插入图片描述
制定时间获取数据:
在这里插入图片描述

自定义常量数据

自定义常量数据步骤主要用于增加自定义字段和行集数据到流中,可增加多个字段并为每个字段赋予行集的值。步骤配置信息如图1所示。

在这里插入图片描述

下文详细解释各控件的含义:

1、转换步骤名称:步骤的名称,在单一转换中,名称必须唯一。

2、元数据:用于设置字段的信息,若字段定义为date类型,则格式必须选择。如图1所示,定义了c_time、id、info三个字段。

(1)名称:输入行集的字段名称。

(2)类型:指定字段类型:字符串、日期、数字、布尔值、整数、BigNumber、可序列化或二进制。

(3)格式:格式化字符串时需要。例如需要格式化日期与时间,那么可以用yyyy-MM-dd’T’HH:mm:ss.XXX,注意其中单引号限定部分。如果需要在日期格式中使用原始字母,那么必须用单引号限定,否则将当成表达式解析。注:需与类型关联使用。

(4)长度:对于数字:数字的有效长度;对于字符串:字符串的总长度;对于日期:字符串的打印输出长度(例如,输入4只会返回年份)。

(5)精度:对于数字:小数位数。

(6)货币类型:货币符号,主要用在财务场景,一般放在货币金额数字的前缀或者后缀。例如人民币一般用的¥,美元一般用$,欧元一般用€。该控件对于步骤本身不产生影响,只是对该字段的货币类型进行备注。

(7)小数:这里应属于翻译错误,翻译为“小数点符号”更为合适。在字符型转小数型(BigNumber)时,识别字符串中的小数点。如字符串“123,456.789”和“123456.789”转BigNumber型时,设置十进制为“.”,则能转变为123456.789。有意思的是这里除了能识别“.”,还能适配其他字符,如“,”、“|”、“_”、甚至字母“a”都可以。只要字符被替换成“.”之后整个字符串是符合数字格式的就行。注意不管设置多长的字符串,这里始终只取第一个字符作为小数点符号。

(8)分组:在字符型转小数型(BigNumber)时,识别字符串中的分隔符(常见的千位分隔符)。如字符串“6,123,456.789”转BigNumber型时,设置分组为“,”,则能转变为6123456.789。有意思的是这里除了能识别“,”,还能适配其他字符,如“.”、“|”、“_”、甚至字母“a”都可以。只要字符被转换后整个字符串是符合数字格式的就行。另外分组可以结合小数点符号做一些更有意思的事情,如有一个字符串如“123.456,789”,将小数点符号设为“,”,将分组设为“.”,可转换为“123,456.789”。

(9)设为空串:选择下拉菜单中的“是”或“或”。默认设置为“否”,当选择为“是”时,则该字段会输出一个空的字符串。注:空的字符串类型不能被后续步骤的数字型字段接收,如果要输出数字类型的空值,请设置该字段类型为Number,且设为空串处设为“否”。

3、数据:用于为定义的字段填充行集数据。

获取系统信息

获取系统参数包括命令行输入的参数,操作系统时间,ip 地址,一些特殊属性,kettle 版本等

在这里插入图片描述

CSV文件输入

CSV 文件是一个用逗号分隔的固定格式的文本文件,这种文件后缀名为.csv,可以用Excel或者文本编辑器打开。在企业里面一般最常见的
ETL 需求就是将 csv 文件转换为 excel 文件,如果用 Kettle 来做这个
ETL工作,就需要用到本章节讲解的CSV文件输入控件。

在这里插入图片描述

  • 步骤名称:可以修改,但是在同一个转换里面要保证唯一 性, 见名知意
  • 文件名:选择对应的csv文件
  • 列分隔符:默认是逗号(不用改)
  • 封闭符:结束行数据的读写(不用改)
  • NIO 缓存大小:文件如果行数过多,需要调整此参数
  • 包含列头行:意思是文件中第一行是字段名称行,表头不进行读写
  • 行号字段:如果文件第一行不是字段名称或者需要从某行开始读写,可在此输入行号。
  • 并发运行? :选择并发,可提高读写速度
  • 字段中有回车换行? :不要选择,会将换行符做数据读出
  • 文件编码:如果预览数据出现乱码,可更换文件编码。

文本文件输入

提取服务器上的日志信息是公司里 ETL开发很常见的操作,日志信息基本上都是文本类型,因此文本文件输入控件是kettle中常用的一个输入控件。

在这里插入图片描述
配置文件处理规则
在这里插入图片描述
配置输出的数据名称
在这里插入图片描述

XML文件输入

XML可扩展标记语言eXtensible
MarkupLanguage,由W3C组织发布,目前推荐遵守的是W3C组织于2000年发布的XML1.0规范。XML用来传输和存储数据,就是以一个统一的格式,组织有关系的数据,为不同平台下的应用程序服务。

在这里插入图片描述

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

在这里插入图片描述
XML控件配置说明
在这里插入图片描述

获取 xml文档的所有路径,设置合适的循环读取路径
在这里插入图片描述获取字段,获得自己想要读取的所有字段,并且设置适当的格式
在这里插入图片描述

获取表名

➢ 获取某个数据库的表信息

➢ 获取视图信息

➢ 获取存储过程信息

➢ 获取同义词信息

➢ 获取模式名

➢ 获取数据库名

➢ 可以在表名、视图名、过程名前添加上模式名

在这里插入图片描述

JSON输入

1)JSON介绍

JSON(JavaScript Object
Notation,JS对象简谱)是一种轻量级的数据交换格式。JSON对象本质上就是一个JS对象,但是这个对象比较特殊,它可以直接转换为字符串,在不同语言中进行传递,通过工具又可以转换为其他语言中的对象。

JSON核心概念:

数组:[]

对象:{}

属性:key:value

2)JSON Path

JSONPath 类似于 XPath 在 xml 文档中的定位,JsonPath
表达式通常是用来路径检索或设置Json的。其表达式可以接受“dot - notation”(点记法)和“bracket
-notation”(括号记法)

格式:

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

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

在这里插入图片描述

3)JSON 输入控件

了解JSON格式和JSON Path以后,我们要学习使用JSON输入控件,JSON控件也是企业里做ETL常用的控件之一

在这里插入图片描述

Excel输入

Excel输入控件也是很常用的输入控件,一般企业里会用此控件对大量的Excel文件进行ETL操作。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

表输入

表输入可以说是kettle中用到最多的一种输入控件,
因为企业中大部分的数据都会存在数据库中。kettle可以连接市面上常见的各种数据库,比如Oracle,Mysql,
SqlServer等。但是在连接各个数据库之前,我们需要先配置好对应的数据库驱动,本教程以mysql为例,给大家讲解kettle连接mysql数据库的过程。

在这里插入图片描述

  1. 下载对应数据库的驱动放到kettle的lib下:

  2. 重启Spoon客户端;

  3. 创建对应的DB链接
    在这里插入图片描述

  4. 数据库连接默认只对本转换有效,换一个转换以后,这个连接就没法用了,还需要新建数据库连接,所以我们需要将建好的这个数据库连接进行共享下,共享以后,其他的转换也能用我们提前建好的这个数据库连接了。
    在这里插入图片描述

  5. 创建好数据库连接以后,我们就可以使用表输入控件了,双击表输入控件,选择刚刚创建的数据库连接,然后在SQL框里输入合适的查询语句,然后点击预览按钮,看能否预览到我们期望的数据
    在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Elcker

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值