Kettle8.2查询组件之流查询

2024-02-12 07:38
文章标签 组件 查询 之流 kettle8.2

本文主要是介绍Kettle8.2查询组件之流查询,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Kettle8.2查询组件之流查询

    • 一、相关说明
    • 二、设计转换
    • 三、转换配置
    • 四、运行转换
    • 五、结果分析

一、相关说明


  • 数据库查询组件说明:
    流查询在查询前把数据都加载到内存中,并且只能进行等值查询
  • 需求说明:
    从A数据库中的sys_dept表中读取数据,在从从B数据库中sys_user表查询数据,然后根据dep_id获取dep_name,保存到Excel中。
  • 源表sys_user和sys_dept建表语句及数据参考如下博文:
    Kettle8.2查询组件之数据库查询

二、设计转换


  • 输入:表输入(两个步骤)
  • 查询: 流查询
  • 输出:Excel输出
    在这里插入图片描述

三、转换配置


  • Step1:表输入(连接A库)组件配置

    • 双击组件,写上步骤名称等
    • 相关配置如下所示:
      在这里插入图片描述
      在这里插入图片描述
  • Step2:表输入(连接B库)组件配置

    • 双击打开,设置步骤名称
    • 配置信息,如下
      在这里插入图片描述
      在这里插入图片描述
  • Step3:流查询组件配置

    • 双击打开,设置步骤名称
    • 配置信息,如下,其中lookup setup 指的是从哪个步骤查询数据
      在这里插入图片描述
  • Step3:Excel输出组件配置

    • 双击打开,设置步骤名称
    • 配置信息,如下
      在这里插入图片描述
  • Step4:保存转换
    上述配置好后,点击确定即可!

四、运行转换


  • 点击运行按钮,成功运行如下:
    在这里插入图片描述

五、结果分析


  • 在Excel中查看结果
    在这里插入图片描述

  • Preview data 中查看结果
    切换到“Preview data页面”

    • 点击“流查询”,看到结果数据
      在这里插入图片描述
  • 结果简单分析
    流查询组件本质上就是将前一步骤查询出的结果集中的字段作为查询条件,循环执行lookup setup中所指定的步骤,会将当前查询出来的字段及数值缓存到行集中,经Hop传递到下一个步骤,即Excel输出。该案例实现的功能,其实可以等价于如下SQL语句:

    SELECT * FROM sys_user u LEFT JOIN sys_dept d ON u.`dept_id`=d.`dept_id`;
    

    稍微不同的是,该SQL语句是用于同一个库下的两张表的等值连接,而案例是它连接了两个不同的数据库而已。

这篇关于Kettle8.2查询组件之流查询的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/702047

相关文章

Oracle查询优化之高效实现仅查询前10条记录的方法与实践

《Oracle查询优化之高效实现仅查询前10条记录的方法与实践》:本文主要介绍Oracle查询优化之高效实现仅查询前10条记录的相关资料,包括使用ROWNUM、ROW_NUMBER()函数、FET... 目录1. 使用 ROWNUM 查询2. 使用 ROW_NUMBER() 函数3. 使用 FETCH FI

数据库oracle用户密码过期查询及解决方案

《数据库oracle用户密码过期查询及解决方案》:本文主要介绍如何处理ORACLE数据库用户密码过期和修改密码期限的问题,包括创建用户、赋予权限、修改密码、解锁用户和设置密码期限,文中通过代码介绍... 目录前言一、创建用户、赋予权限、修改密码、解锁用户和设置期限二、查询用户密码期限和过期后的修改1.查询用

使用SQL语言查询多个Excel表格的操作方法

《使用SQL语言查询多个Excel表格的操作方法》本文介绍了如何使用SQL语言查询多个Excel表格,通过将所有Excel表格放入一个.xlsx文件中,并使用pandas和pandasql库进行读取和... 目录如何用SQL语言查询多个Excel表格如何使用sql查询excel内容1. 简介2. 实现思路3

vue解决子组件样式覆盖问题scoped deep

《vue解决子组件样式覆盖问题scopeddeep》文章主要介绍了在Vue项目中处理全局样式和局部样式的方法,包括使用scoped属性和深度选择器(/deep/)来覆盖子组件的样式,作者建议所有组件... 目录前言scoped分析deep分析使用总结所有组件必须加scoped父组件覆盖子组件使用deep前言

基于Qt Qml实现时间轴组件

《基于QtQml实现时间轴组件》时间轴组件是现代用户界面中常见的元素,用于按时间顺序展示事件,本文主要为大家详细介绍了如何使用Qml实现一个简单的时间轴组件,需要的可以参考下... 目录写在前面效果图组件概述实现细节1. 组件结构2. 属性定义3. 数据模型4. 事件项的添加和排序5. 事件项的渲染如何使用

MySQL不使用子查询的原因及优化案例

《MySQL不使用子查询的原因及优化案例》对于mysql,不推荐使用子查询,效率太差,执行子查询时,MYSQL需要创建临时表,查询完毕后再删除这些临时表,所以,子查询的速度会受到一定的影响,本文给大家... 目录不推荐使用子查询和JOIN的原因解决方案优化案例案例1:查询所有有库存的商品信息案例2:使用EX

SpringBoot基于MyBatis-Plus实现Lambda Query查询的示例代码

《SpringBoot基于MyBatis-Plus实现LambdaQuery查询的示例代码》MyBatis-Plus是MyBatis的增强工具,简化了数据库操作,并提高了开发效率,它提供了多种查询方... 目录引言基础环境配置依赖配置(Maven)application.yml 配置表结构设计demo_st

Redis KEYS查询大批量数据替代方案

《RedisKEYS查询大批量数据替代方案》在使用Redis时,KEYS命令虽然简单直接,但其全表扫描的特性在处理大规模数据时会导致性能问题,甚至可能阻塞Redis服务,本文将介绍SCAN命令、有序... 目录前言KEYS命令问题背景替代方案1.使用 SCAN 命令2. 使用有序集合(Sorted Set)

MyBatis框架实现一个简单的数据查询操作

《MyBatis框架实现一个简单的数据查询操作》本文介绍了MyBatis框架下进行数据查询操作的详细步骤,括创建实体类、编写SQL标签、配置Mapper、开启驼峰命名映射以及执行SQL语句等,感兴趣的... 基于在前面几章我们已经学习了对MyBATis进行环境配置,并利用SqlSessionFactory核

PostgreSQL如何查询表结构和索引信息

《PostgreSQL如何查询表结构和索引信息》文章介绍了在PostgreSQL中查询表结构和索引信息的几种方法,包括使用`d`元命令、系统数据字典查询以及使用可视化工具DBeaver... 目录前言使用\d元命令查看表字段信息和索引信息通过系统数据字典查询表结构通过系统数据字典查询索引信息查询所有的表名可