kettle开发-Day40-AI分流之case/switch

前言:

        前面我们讲到了很多关于数据流的AI方面的介绍,包括自定义组件和算力提升这块的,今天我们来学习一个关于kettle数据分流处理非常重要的组件Switch / Case 。当我们的数据来源于类似日志、csv文件等半结构化数据时,我们需要在数据流将类似空数据、不想要的数据进行分流加工时,我们应该怎么做呢?

 一、Switch / Case 

        1、组件介绍

        如上图所示,我们的 Switch / Case 组件,主要包括Switch字段,即我们用于判断的字段,

然后就是指定字符串的类型,掩码和小数点的符号等用来处理一些特殊数据。下面的case 值就是通过Switch字段里面的不同值,执行不同的目标步骤。

        下面的默认目标步骤即当Switch字段数值都不在case值里头就执行默认目标步骤。

类似:

         case when Switch字段=1 then 目标步骤1 

        when Switch字段=2 then 目标步骤2

        else 默认目标步骤。

        2、总结

        Switch / Case,从命名我们就知道,这是一个类似if的条件判断组件。因此当我们需要对转换数据流进行判断时,我们就可以利用它来实现我们很多复杂的需求,如将非数据记录至异常数据表中。具体可参考下面的文章介绍。

kettle 条件判断 Switch Case - 程序员大本营kettle 条件判断 Switch Case,程序员大本营,技术文章内容聚合第一站。https://www.pianshen.com/article/50411833604/        今天我们来介绍一个不一样的,我们来将数据进行分类并处理后存入我们的数据表里头,具体我们可以看下面的案例。

二、实际案例

        1、坏数据变成好数据

        

         如图所示,我们的一份CSV文件的检测数据,里面的日期字段因为机器故障,导致里面的日期变成类似2023/7/12 2:59:58 、23.7.12 上午 7:11:45、23.7.11 下午 11:07:46、਍23.7.11 下午 9:36:02、਍23.7.12 上午 7:11:45等等多种格式的数据,其中2023/7/12 2:59:58才是我们想要 的数据,很明显我们处理这个日期数据,我们只能按string的格式来处理。因为我们需要将23.转换成2023/,下午 9:36变成下午 9+12:36级21:36等等。

        因为日期+后面的样品名称是数据同步的组合组件,因此我们需要在数据流里面将数据处理成我们需要的数据,而不能再数据同步后再去处理。因此最初正常的同步作业是这样的。

         2、Switch / Case数据分流

        为了将那一堆乱七八糟的数据处理好,首先我们将数据大致分为三大类,一类是2023/7/12 2:59:58的正常数据,一种是包含中文上午的数据,一种是包含中文下午的数据。因此我们将数据利用Switch / Case分流。具体转换如下图所示。为了方便大家直接看结果我将分流后的数据输出至EXCEL中方便查看。

         如上图所示我们利用switch/case组件成功将三大类的数据输出到不同的EXCEL表中。对应switch/case 组件的配置如下图所示,需要注意的是我们需勾选“使用字符串包含比较”。

三、效果

        在前面我们完成了对应的配置开发,最后我们来查看最后的开发效果吧。如下图所示成功将三大类数据输出至不同的EXCEL中,完成了我们数据的分流,当下次你不会用的时候,可以收藏点击查看,希望对你有用。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/21422.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

node.js

文章目录 包含Buffer概述创建操作 软件运行过程线程与进程fs模块写入文件追加流式写入使用场景 读取文件文件流式读取读取场景 复制案例内存占有量 重命名和移动删除文件夹操作创建读取删除 查看文件的资源相对路径bug path模块http协议创建http服务器x获取请求体获取请求报文案…

Maven -- <dependencyManagement>管理子项目版本

背景&#xff1a; 一个旧项目&#xff0c;想使用mybatis-plus&#xff0c;想着这是比较基础的依赖包&#xff0c;就在父项目中添加对应依赖&#xff0c;如下: <!-- 依赖声明 --><dependencyManagement><dependencies><!-- mybatis-plus 依赖配置 -->&l…

JavaWeb(1)——HTML、CSS、JS 快速入门

JavaWeb 是使用 Java 技术来构建 Web 应用程序的一种方法。 HTML&#xff08;超文本标记语言&#xff0c;负责网页的结构&#xff09;是一种用于创建网页结构和内容的标记语言。它由一系列标签组成&#xff0c;每个标签都有特定的功能。开发人员可以使用 HTML 来定义页面的结构…

文字识别(OCR)介绍与开源方案对比

目录 文字识别&#xff08;OCR&#xff09;介绍与开源方案对比 一、OCR是什么 二、OCR基本原理说明 三、OCR基本实现流程 四、OCR开源项目调研 1、tesseract 2、PaddleOC 3、EasyOCR 4、chineseocr 5、chineseocr_lite 6、cnocr 7、商业付费OCR 1&#xff09;腾讯…

Self-Attention Cross-Attention

transformer的细节到底是怎么样的&#xff1f;Transformer 连环18问&#xff01; 4.1 从功能角度&#xff0c;Transformer Encoder的核心作用是提取特征&#xff0c;也有使用Transformer Decoder来提取特征。例如&#xff0c;一个人学习跳舞&#xff0c;Encoder是看别人是如何…

前端调整滚动条的外观样式

前端调整滚动条的外观样式 css主要分三个步骤 1、设置滚动条宽度 ::-webkit-scrollbar { width: 5px; } 效果&#xff1a;分别设置50px和5px宽度 2、设置里面小滑块的样式 ::-webkit-scrollbar-thumb {border-radius: 5px;-webkit-box-shadow: inset 0 0 5px rgba(0,0,0…

【Unity面试篇】Unity 面试题总结甄选 |Unity性能优化 | ❤️持续更新❤️

前言 关于Unity面试题相关的所有知识点&#xff1a;&#x1f431;‍&#x1f3cd;2023年Unity面试题大全&#xff0c;共十万字面试题总结【收藏一篇足够面试&#xff0c;持续更新】为了方便大家可以重点复习某个模块&#xff0c;所以将各方面的知识点进行了拆分并更新整理了新…

神经网络结构可视化-netron

网址&#xff1a;https://netron.app/ 点选择模型&#xff0c;将oonx文件拉到netron界面&#xff0c;即可 输出; 如何将pytorch模型转换为onnx的格式&#xff1f; 在测试&#xff08;训练好的模型&#xff09;里输入代码 to_onnx(model, 3, 28, 28, output/params.onnx)其…

Linux下软件安装的命令

源码安装 以源代码安装软件&#xff0c;每次都需要配置操作系统、配置编译参数、实际编译&#xff0c;最后还要依据个人喜好的方式来安装软件。这个过程很麻烦很累人。 RPM安装软件的默认路径: 注意&#xff1a; /etc 配置文件放置目录/usr/bin 一些可执行文件/usr/lib 一些程…

MySql数据库的学习

MySQL 是最流行的关系型数据库管理系统&#xff0c;在 WEB 应用方面 MySQL 是最好的 RDBMS&#xff08;Relational Database Management System&#xff1a;关系数据库管理系统&#xff09;应用软件之一。 参考博客&#xff1a;MySQL 教程 | 菜鸟教程 (runoob.com) 一、什么是…

界面控件DevExtreme UI组件——增强的API功能

虽然DevExtreme刚刚发布了v23.1&#xff0c;但今天我们仍然要继续总结一下之前的主要更新&#xff08;v22.2&#xff09;中发布的一些与DevExtreme API相关的重要特性。 DevExtreme拥有高性能的HTML5 / JavaScript小部件集合&#xff0c;使您可以利用现代Web开发堆栈&#xff…

二叉树进阶(搜索二叉树)

目录 引言 1.二叉搜索树的模拟实现 1.1 链式二叉树的定义 1.2 二叉搜索树的模拟实现 1.2.1 二叉搜索树的结点类 1.2.2 二叉搜索树类的构造与中序遍历实现 1.2.3 增 1.非递归实现 2.非递归实现 1.2.4 查 1.非递归实现 2.递归实现 1.2.5 删 1.非递归实现 (1)情…