首页 > 其他分享 >kettle从入门到精通 第七十七课 ETL之kettle kettle执行存储过程,接收数据集

kettle从入门到精通 第七十七课 ETL之kettle kettle执行存储过程,接收数据集

时间:2024-07-17 20:41:25浏览次数:14  
标签:接收数据 kettle pId t1 delimiter 第七十七 select sp

场景:kettle调用存储过程,存储过程中通过select * from table 方式返回结果集,kettle接收结果集。

 解决方案:1)借助临时表。2)表输入步骤。今天主要讲解表输入。

1、创建一个无参存储过程,脚本中通过select * from t1 返回数据集。脚本如下:

use test;
drop procedure if exists sp_without_param1;
delimiter //
create procedure sp_without_param1()
begin
      -- 查询数据集
      select * from t1;
  end //
delimiter ;

 拖动取表输入步骤、写日志步骤到画布,表输入步骤sql填写call sp_without_param1,如下图所示:

保存,然后点击运行按钮,存储过程中的数据集被正常打印出来,如下图所示:

 2、创建一个只有入参的存储过程,脚本中通过select * from t1 where id=pId;返回数据集。脚本如下:

use test;
drop procedure if exists sp_with_param2;
delimiter //
create procedure sp_with_param2(IN pId VARCHAR(255))
begin
      -- 查询数据集
      select * from t1 where id=pId;
  end //
delimiter ;

表输入步骤sql填写call sp_without_param2("1"),保存&点击运行按钮,数据集正常打印。如下图所示:

 3、创建一个有入参和出参的存储过程,脚本中通过select * from t1 where id=pId;返回数据集。脚本如下:

use test;
drop procedure if exists sp_with_param3;
delimiter //
create procedure sp_with_param3(IN pId VARCHAR(255) ,OUT result VARCHAR(255))
begin
      -- 查询数据集
      select * from t1 where id=pId;
      set result="done";
  end //
delimiter ;

表输入步骤sql填写call sp_without_param3("1",@outputParm)。如下图所示:

 

 使用表输入步骤单独获取out参数,sql为select @outputParam;,如下图所示

 保存&点击运行,结果集和out参数正常打印。

  

 

标签:接收数据,kettle,pId,t1,delimiter,第七十七,select,sp
From: https://www.cnblogs.com/zjBoy/p/18304155

相关文章

  • kettle从入门到精通 第七十六课 ETL之kettle kettle连接hive教程
     1、群里有小伙伴询问kettle连接hive的demo,今天抽点时间整理下。其实kettle连接hive和连接mysql数据库也是一样的。1)kettle中的lib目录下放hive驱动jar,这里我使用的是kyuubi-hive-jdbc-shaded-1.9.0.jar。2)设置hive连接参数。3)通过表输入进行读取数据。 2、下载kyuubi-hive......
  • kettle从入门到精通 第七十五课 ETL之kettle血缘,数据血缘
    在了解kettle血缘之前,咱们先来了解下什么是数据血缘?1、数据血缘定义(来自gpt)数据血缘(DataLineage)是指在数据管理和数据分析中追踪数据的源头、流向和处理过程的能力。具体来说,数据血缘描述了数据如何被创建、变换和移动,以及这些过程中数据的路径和影响。它有助于理解数据的可靠......
  • maven拉取pentaho-kettle依赖
    问题pentaho-kettle不在maven中央仓库里,且官方不再维护,所以中央库和阿里镜像库都拉取不到。解决办法添加资源库配置<repositories><repository><id>pentaho-kettle</id><name>pentaho-kettle仓库</name><url>https://repo.orl.eng.hitachi......
  • kettle从入门到精通 第七十四课 ETL之kettle kettle调用https接口教程,忽略SSL校验
    场景:kettle调用https接口,跳过校验SSL。(有些公司内部系统之间的https的接口是没有SSL校验这一说,无需使用用证书的) 解决方案:自定义插件或者自定义jar包通过javascript调用https接口。1、httppost步骤调用https接口,无法通过ssl安全校验,如下图所示:查看了kettle源码之后该步骤......
  • kettle从入门到精通 第七十三课 ETL之kettle kettle调用http分页接口教程
    场景:kettle调用http接口获取数据(由于数据量比较大,鉴于网络和性能考虑,所以接口是个分页接口)。 方案:构造页码list,然后循环调用接口。1、总体设计1)、初始化分页参数pageNum=1,pageSize=20,这里的pageSize可以根据自己的需求自行调整,比如每次从接口取数100或者1000等等。2)、第一......
  • Dolphinscheduler调度Kettle
    1、Dolphinscheduler-worker节点安装Kettle安装目录/opt/soft/data-integration2、配置资源仓库,将资源仓库配置文件 repositories.xml文件拷贝到安装目录仓库名称:mysql-repository仓库访问用户:guest仓库访问密码:guest3、创建Kettle任务,并保存到资源仓库任务创建略。任务......
  • kettle从入门到精通 第七十二课 ETL之kettle 三谈http post(含文件上传),彻底掌握参数传
    场景:群里有个小伙伴在使用httppost步骤调用接口时遇到问题,postman调用正常,但是kettle中调用异常。 解决方案:既然postman调用接口正常,肯定是httppost步骤中某些参数设置的不正确导致的。那就把常用的方式都梳理下,搞定它。 1、httppost请求参数放到body中,Content-Type是appl......
  • kettle从入门到精通 第七十一课 ETL之kettle 再谈http post,轻松掌握body中传递json参
    场景:kettle中httppost步骤如何发送http请求且传递body参数? 解决方案:httppost步骤中直接设置Requestentityfield字段即可。1、手边没有现成的post接口,索性用python搭建一个简单的接口,关键代码如下(安装python环境略):fromflaskimportFlask,request,jsonifyapp=Fl......
  • java操作kettle
    新建springboot项目引入相关依赖<!--kettle--><dependency><groupId>pentaho-kettle</groupId><artifactId>kettle-core</artifactId><version>9.4.0.0-343</version>&......
  • Windows11[虚拟机] Kettle 通过SSH隧道 连接远程[Mac] Mysql数据库
    Kettle无法直接连接使用SSH通道的MySQL,需要通过SSH隧道(推荐),具体操作如下所示:一、搭建XshellSSH隧道转发1、点击“连接”借助Xshell7,首先创建会话mac(名字随便写),右键-->属性,在弹出窗口中填写名称(随便写),填写主机:SSH隧道的ip地 点击“添加”按钮出现如下,填写源主机:localh......