推广

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

iseeyu2年前 (2024-02-21)推广114

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

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

相关文章

三个不同的网站优化阶段可以帮助您快速加强优化弱势区。

三个不同的网站优化阶段可以帮助您快速加强优化弱势区。

一、网站的初步建设 在建设初期,有很多开源程序,如dedecms、Empire、zblog、WP等,这些开源程序使用的人更多,操作更简单,漏洞更新更频繁,足以满足我们网站的需要。这些程序更适合个人做一些网站。例如,如果我们想做一个博客,我们可以选择WP在这个时候建立我们的网站。但在这里,小编想告诉...

教你大数据行业生死劫(大数据行业前景分析)

教你大数据行业生死劫(大数据行业前景分析)

文/刘燕 来源:AI前线(ID:ai-front) AI前线导读:这可能是大数据行业经历的最寒冷的一个冬天。年关将至,国人习惯于用各种圆满的方式给即将过去的一年划上句号,不过,这对于许多大数据行业从业者来说,似乎有些奢望。整顿、倒闭、离职...最近数月以来,股股冷峻的气息一直笼罩在行业上空。多次...

5000字干货!五大章节帮你掌握搜索设计。

5000字干货!五大章节帮你掌握搜索设计。

本文从搜索的基本属性与特征、搜索入口的样式及应用场景、常见的搜索方式、搜索流程状态解析和辅助模块/元素的妙用5个章节,帮你掌握搜索设计。 前言 搜索是产品中非常重要的一个功能模块,它通过搜索框给用户提供一个直达目的地的绿色通道,方便用户快速找到自己想要的内容,在引导用户走向方面起到了绝对性的作用...

万字长文分享微信个人号经营和裂变增粉的实操心法大全。

万字长文分享微信个人号经营和裂变增粉的实操心法大全。

写在前面的话: 现在绝大部分企业都开通了公众号,但是个人号的经营,却被大部分企业所忽略。我一直提倡,不管企业还是个人,个人号和公众号要一起运营,相辅相成。如果你想在微信这个生态圈里去建立一套自己的社群商业系统,个人号是最重要的布局。那么,如何布局个人号,怎么增加个人号粉丝,会遇到哪些坑呢?我决...

教你云裂变是怎么做全网整合营销推广。

教你云裂变是怎么做全网整合营销推广。

很多朋友经常听到互联网+,全网营销;但是不是这些词的含义,通俗的说“互联网+”就是“互联网+各个传统行业”,全网营销就是集合传统网络,移动互联网,PC互联网为一体进行营销。下面云裂变全网营销专家来谈谈企业全网推广: 随着互联网环境的变化,单一的关键词排名和竞价已经不能解决企业的需要,所以...

网站推广找水军有风险吗。

网站推广找水军有风险吗。

做洛阳 seo网站推广也可以找水军,比如说水军网站,他们会有一些专门的水军给我们提供一些评论,包括会发一些外链等等,会在一些平台发一些文章等等,这种效果都是比较不错的。 可能有的人也会发现,如果说是做这种工作,怕自己找这种水军不可靠,将来会使得自己的网站发一些不好质量的外链,或...

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

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