kettle开发篇-行扁平化

简介: kettle开发篇-行扁平化

前言:


前面我们学习了字段的转换,去除重复行,行转列、列转行之类的,今天我们来学习一个行扁平化的操作,看起来有点高级,行扁平化就是把同一组的多行数据合并为一行。需要注意的是,只有数据流的同类数据数据行记录一致的情况才可使用!数据流必须进行排序,否则结果会不正确。


一、行扁平化


这个组件看起来定义有点高级,但是需要特别注意的是,同类数据的记录行数必须一致,如学生信息,包括学生个人信息和学习课程信息。如都是张三,一行是张三的个人,如姓名是张三,年龄20,性别男。一行是学习课程信息,姓名张三,专业课计算机科学与技术,选修课足球。类似李四也是一行个人信息,一行学习课程信息,只有这样的数据才能分组并排序后进行扁平化,扁平化后的效果就是一行显示了张三的个人信息和学习课程信息。


如下图所示,张三的爱好信息,分别存储了两行,扁平化后,整合成一行,效果如图所示,zhnag

行扁平化就是选择扁平化的字段,将他组合成一行,类似前面学习的行转列的效果,具体我们看看实际应用实例吧。

实例:从EXCEL读取数据,把数据进行行扁平处理,存储在EXCEL。


二、最终运行效果


对应转换的包括EXCEL输入、排序记录、行扁平化、EXCEL输出,对应的EXCEL表输入和EXCEL表输出和以前操作一样就不重复展示,关键是介绍我们的行扁平化的操作,行扁平化需要找到关键字段,并指定转换的列名称。

需要注意的是我们需要保持同类数据行一致,并先进行排序,我们完成转换后,运行转换即可看到我们扁平化的效果。

相关文章
|
数据库
kettle开发篇-合并记录
kettle开发篇-合并记录
1731 0
|
监控 Java Spring
AOP 是什么?一文带你彻底搞懂面向切面编程
本文带你深入理解AOP(面向切面编程),通过Spring Boot实战实现日志、异常、性能监控等通用功能的统一处理。无需修改业务代码,5步完成方法日志切面,解耦横切关注点,提升代码可维护性,真正实现无侵入式增强。
3304 5
|
Java
ETL工具 Kettle 中 kettle循环传递变量_(最简单的方法)
本文详细介绍了如何在Kettle工具中使用循环传递变量,通过示例展示了如何将movies表数据按月插入到ods_movies表,涉及新建转换、获取变量、作业配置和执行,呈现了一个嵌套作业结构.
3163 3
|
关系型数据库 MySQL
MySQL字符串拼接方法全解析
本文介绍了四种常用的字符串处理函数及其用法。方法一:CONCAT,用于基础拼接,参数含NULL时返回NULL;方法二:CONCAT_WS,带分隔符拼接,自动忽略NULL值;方法三:GROUP_CONCAT,适用于分组拼接,支持去重、排序和自定义分隔符;方法四:算术运算符拼接,仅适用于数值类型,字符串会尝试转为数值处理。通过示例展示了各函数的特点与应用场景。
|
算法 Java
算法系列之数据结构-二叉搜索树
二叉查找树(Binary Search Tree,简称BST)是一种常用的数据结构,它能够高效地进行查找、插入和删除操作。二叉查找树的特点是,对于树中的每个节点,其左子树中的所有节点都小于该节点,而右子树中的所有节点都大于该节点。
627 22
|
SQL 前端开发 JavaScript
kettle开发-超好用自定义数据处理组件
kettle开发-超好用自定义数据处理组件
1592 0
kettle开发篇-行转列
kettle开发篇-行转列
1390 0
|
机器学习/深度学习 人工智能 自然语言处理
智能化未来:Agent AI智能体的崛起与全球挑战
智能化未来:Agent AI智能体的崛起与全球挑战
1027 1
|
存储
kettle开发篇-列转行
kettle开发篇-列转行
1288 0