关于大数据:大数据-ETL-处理工具-Kettle-常用输入输出

47次阅读

共计 2038 个字符,预计需要花费 6 分钟才能阅读完成。

相比当初风行大数据技术,你可能感觉 Kettle 的应用场景太少了,或者没有必要应用这么个玩意儿,查看了下 github kettle 发现最近也有一些更新,另外,对于没有编程教训的数据应用人员,应用非常简单的 Kettle,通过图形界面设计实现做什么业务,无需写代码去实现,就能够做一些试验,比方:抓取网站上的股票数据、外汇信息等等。

Kettle 反对很多种输出和输入格局,包含文本文件,数据表,以及数据库引擎。总之,Kettle 弱小的输出、输入、转换性能让你十分不便的操作数据。

罕用的输出步骤

文件输出步骤

常见文本文件输出步骤包含:CSV 文件输出、Excel 输出、文本文件输出等。

在之前的文章中曾经介绍过 HelloWorld 级别的性能「把数据从 CSV 文件复制到 Excel 文件」,具体步骤可查阅。

能够抉择同一目录下的所有文件,通过抉择目录,而后通配符号通配文件,也能够抉择是否读取当前目录下子目录的文件,如下图:

XML 输出步骤

XML 是可扩大标记语言,次要用来传输与存储数据,在一些比拟传统的零碎还在应用这种形式进行数据传输对接,借助「Get data from XML」输出步骤,获取 XML 文件中的数据信息,通过应用 xpath 来确定 XML 文档中某局部数据的地位,xpath 基于 XML 的树状构造,提供在数据结构树中找寻节点的能力。

示例

通过向导实现一个示例,读取 POM 文件中的属性配置信息,如下图:

xpath 罕用表达式

表达式 阐明
nodename 选取此节点的所有子节点
/ 从根节点选取
// 从匹配抉择的以后节点抉择文档中的节点,而不思考它们的地位
. 选取以后节点
选取以后节点的父节点
@ 选取属性
div 选取 div 元素的所有子节点
/div 选取根元素 div
div/p 选取 div 元素下的子元素 p
//div 选取所有的 div 元素
div//p 选取 div 元素下的所有 p 元素
//@lang 选取名为 lang 的所有属性

JSON 输出步骤

相比于 XML,是一种轻量型的数据交换格局。JSON 外围概念:数组([] 中的数据),对象({} 中的数据),属性(k:v 的数据)

实现「调用 RESTful 接口导入 JSON 后果入库」的性能,不论是通过 Java 或者是 Python 编码的形式调用 RESTful 接口将后果入库,都是有肯定复杂度的,首先你要加载第三方 REST 组件依赖,而后连贯数据库,写 SQL 语句,最初插入的指标数据库中。但咱们有了 Kettle 这个工具之后,只须要应用图形化界面 Spoon 就能够很不便的实现接口调用及入库的操作。

通过一个简略的 GET 申请,获取「沪深新股预报」信息,数据状况及操作如下

数据示例

接口信息

https://xueqiu.com/service/v5…

转换步骤:

输入后果

具体配置步骤

表输出步骤

增加数据库驱动

要是想要操作数据库,就得先下载数据库驱动,而后搁置在 /data-integration/lib 下,默认包含如下驱动:

(base)  ~/Documents/apps/data-integration/lib  ls -al | grep sql
-rw-r--r--@   1 Yezhiwei  staff   1473091 Jun 11  2019 hsqldb-2.3.2.jar
-rw-r--r--@   1 Yezhiwei  staff    825943 Jun 11  2019 postgresql-42.2.5.jar
-rw-r--r--@   1 Yezhiwei  staff   3201133 Jun 11  2019 sqlite-jdbc-3.7.2.jar

增加 MySQL 驱动 jar 包 mysql-connector-java-5.1.41.jar 到 /data-integration/lib 下:

配置数据库连贯

获取表 SQL 查问语句,数据预览

抉择数据库连贯配置,而后点击「获取 SQL 查问语句」

抉择表,依据提醒实现设置,主动生成 SQL,「预览」能够查看数据。

罕用的输入步骤

通常将数据处理实现后须要保留到一个中央,不便后续应用,通常状况下输入为 Excel 或数据库中,后面的示例中曾经介绍过 Excel 输入,上面重点介绍数据库方面的输入步骤。

数据库输入步骤罕用的有插入 / 更新 / 删除,示例重点体现「插入 / 更新」和「删除」输入步骤

表输入

将其余输出源的数据输入到表中

更新

更新就是把数据库中曾经存在的记录与数据流外面的记录进行比照,如果不同就进行更新

插入更新

插入更新就是在更新的根底上插入了数据流中多余的数据

删除

删除能够和自定义常量输出一起应用,定义一个常量条件,不合乎这个条件的数据全副删除

示例
数据筹备

数据从 Excel 插入或更新到 MySQL

新数据插入后果

更新后果

结语

在数据仓库技术中,ETL 是必不可少,Kettle 作为 ETL 的经典工具,通过图形界面设计实现做什么业务,无需写代码去实现,对于没有编程教训的数据应用人员来说,也是非常简单的。

当然,也存在一些问题,比方:解决的数据量绝对小些、文档资料绝对少些等等。有机会再总结一下应用过程中遇到的问题。
欢送关注公众号:HelloTech,获取更多内容

正文完
 0