推广

大数据 ETL 处理工具 Kettle 常用输入输出

iseeyu3年前 (2024-02-21)推广126

选择同一目录下的所有文件

XML 输入步骤

XML 是可扩展标记语言,主要用来传输与存储数据,在一些比较传统的系统还在使用这种方式进行数据传输对接,借助「Get data from XML」输入步骤,获取 XML 文件中的数据信息,通过使用 xpath 来确定 XML 文档中某部分数据的位置,xpath 基于 XML 的树状结构,提供在数据结构树中找寻节点的能力。

示例

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

XML 数据片段

解析后的结果

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/stock/preipo/cn/query?type=subscribe&order_by=onl_subbeg_date&order=asc&page=1&size=10&_=1626884306432

转换步骤:

抓取上图中的数据流程

输出结果

抓取结果

具体配置步骤

表输入步骤

添加数据库驱动

要是想要操作数据库,就得先下载数据库驱动,然后放置在 /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 下:

image-20210722094311728

配置数据库连接

配置数据库连接

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

选择数据库连接配置,然后点击「获取 SQL 查询语句」

image-20210722094627047

选择表,根据提示完成设置,自动生成 SQL,「预览」可以查看数据。

image-20210722094818719

image-20210722095028211

常用的输出步骤

通常将数据处理完成后需要保存到一个地方,方便后续使用,通常情况下输出为 Excel 或数据库中,前面的示例中已经介绍过 Excel 输出,下面重点介绍数据库方面的输出步骤。

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

表输出

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

image-20210722100309221

image-20210722100343895

更新

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

插入更新

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

删除

删除可以和自定义常量输入一起使用,定义一个常量条件,不符合这个条件的数据全部删除

示例
数据准备

image-20210722102920952

数据从 Excel 插入或更新到 MySQL

image-20210722113824626

设置 Excel 输入文件和字段

数据库输出设置

新数据插入结果

新数据插入

更新结果

image-20210722113626073

结语

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

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

扫描二维码推送至手机访问。

版权声明:本文由西安泽虎代运营发布,如需转载请注明出处。

转载请注明出处https://www.0291.com.cn/post/57531.html

相关文章

西安企业做百度推广,一个月花三千和花三万到底差在哪?

4|最近跟几个西安的老板聊天,发现一个挺有意思的现象:同样做百度推广,有人一个月花三千块,询盘不断;有人一个月砸三万,水花都没见着。问他们区别在哪,大多数人说不清楚,只知道'钱花了,没效果'。 5| 6|百度推广这东西,说复杂也复杂,说简单也简单。核心就一件事:让你的潜在客户搜某个词的时候,你的信息...

我想当策划,大学应该选什么专业?

我想当策划,大学应该选什么专业?

学,广告,传播,公关,这些专业其实都可以。另外也可以学像汉语言文学,以及一些跟文学相关的一些专业,会对你找工作有帮助。但是,你想从事这个这份职业,除了专业的学习之外,更多的是,你要在上学的时候积极参与一些更营销策划相关的社会实践。比如说你可以做一些兼职,比如说帮别人去写稿,...

服装市场营销策略分析,“定位不慎满盘皆输”

服装市场营销策略分析,“定位不慎满盘皆输”

不同的区域需要不同的策略,而不同的营销策略需要不同的销售思路来配合。因此,在研究女装产品销售思路之前,最好先对于市场与营销策略做一次深入地了解。1.市场区域化(market segmentation):目标营销的第一步,是将整个市场拆分成若干个同性质的小市场。2.目标市场的...

晚间悦读丨你的思维方式,决定你的人生高度!

晚间悦读丨你的思维方式,决定你的人生高度!

越长大,越发现,能够决定你人生高度的,往往是你的认知层次。 你的认知在哪个层级,你的人生就处在什么状态。你认知的高度,决定了你人生的高度。 那如何才能升级方式、提升认知能力呢?可以从这三个方面做出改变。 NO. 1 改变态度 有人...

编写项目营销策划方案六大要点

编写项目营销策划方案六大要点

现在商业发展非常迅速,的需求非常的大,但是要做好营销策划是有一定难度的,我把自己做营销策划的一些体会在这里分享给朋友们。营销策划方案六大要点我们先说项目营销策划方案这个话题。大部分的营销策划人都是在企业里工作,大部分项目之初都是来源于一个想法,创始人、老板或者创始团队的一个...

【商场营销策划】如何进行商场营销策划?

【商场营销策划】如何进行商场营销策划?

商场是策划者们关注的永恒话题,那么究竟该如何作好商场营销策划呢?掌握以下这几点营销策略设计原则,至关重要!1.义利兼顾的原则。商场在获取利润的同时要充分考虑到消费者的合法利益和商场的长远利益。在作商场活动营销策略方案的时候应该将这一点作为首要的原则。对商场有利而对顾客不利的...

现在,非常期待与您的又一次邂逅

我们努力让每一部企业宣传片和抖音短视频成为商业大片