• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

使用kettle把XML文档转换成数据表结构

mysql 搞代码 4年前 (2022-01-09) 19次浏览 已收录 0个评论

使用kettle把XML文档转换成数据表结构 在kettle中Get data from xml 步骤和 XML Input Stream (StAX)步骤读取并解析xml文件。Get data from xml 步骤使用dom方式解析,比较消耗内存,当文件很大时,就不可

使用kettle把XML文档转换成数据表结构
在kettle中Get data from xml 步骤和 XML Input Stream (StAX)步骤读取并解析xml文件。Get data from xml 步骤使用dom方式解析,比较消耗内存,当文件很大时,就不可取。XML Input Stream (StAX)步骤使用完全不同的方式解析大而复杂的文件,且能快速载入数据,所以建议使用该步骤。
下面通过示例来展示如何使用该步骤,源xml文件内容如下:
<?xml version=”1.0″?>


8.5
9.8

12.2
9.4

11.1
7.2

解析成数据表的格式数据如下:

使用下面步骤去实现该功能

xmlinput stream(stax):流方式载入xml文档

过滤行:去除掉不相关的文档元素

switch/case步骤:分离第一级(measurement)和第二级(item)

Rowdenormaliser:把第二级的多行转成一行(行专列)

MergeJoin:合并子元素到第一级行(增加列)

示例可以从这里下载

Rowdenormaliser步骤

最容易理解执行情况的方式,通过预览没步骤的执行结果(5.x版本可以直接查看数据流),下图显示该步骤的执行原理。

MergeJoin 步骤

把两个来自不同数据源的流进行合并,其实和SQL中join原理是一样的,只不过在kettle中是针对流数据,不是表数据。非常重要的是:流数据要根据键(join中使用的)排序,本列中第一步载入xml文件时,已经排序,所以不再选哟“sort rows”步骤。

本文来源gao@daima#com搞(%代@#码@网&


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:使用kettle把XML文档转换成数据表结构

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址