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

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

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

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

sql 复制代码
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;返回数据集。脚本如下:

sql 复制代码
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;返回数据集。脚本如下:

sql 复制代码
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参数正常打印。

相关推荐
l1t2 小时前
DeepSeek总结的 waddler,一个 Go 语言编写的从 YAML 文件运行的 ETL 管道
开发语言·golang·etl
Cthy_hy1 天前
浏览器市场分析——数据大屏动态数据接入
信息可视化·etl·数据可视化
Database_Cool_1 天前
AnalyticDB MySQL vs Hologres:阿里云内部数仓产品如何选——场景化选型指南
数据库·数据仓库·mysql·阿里云
Nefu_lyh1 天前
【Hive】三、Hive 抽样:讲解 Hive 三大抽样方式:分桶抽样、块抽样、随机抽样的原理、语法、性能对比与实战案例
数据仓库·hive·hadoop
段一凡-华北理工大学1 天前
工业领域的Hadoop架构学习~系列文章16:实时流处理架构 - 工业数据的实时动脉
大数据·数据仓库·hadoop·分布式·学习·架构·高炉炼铁
Database_Cool_2 天前
AnalyticDB MySQL vs ClickHouse:OLAP 数据库选型深度对比——谁更适合企业级分析
数据库·数据仓库·mysql·数据分析
真上帝的左手2 天前
19. 大数据- BI 入门-数仓实战1-数据仓库的核心逻辑与落地范式
大数据·数据仓库·bi
Database_Cool_2 天前
AnalyticDB MySQL vs Apache Doris:企业级云数仓如何选型——全维度对比指南
数据库·数据仓库·mysql·阿里云
真上帝的左手2 天前
19. 大数据- BI 入门-数仓实战4-DIM 维度层
大数据·数据仓库·bi
真上帝的左手2 天前
19. 大数据- BI 入门-数仓实战终篇-数据仓库演进对比与深度思考
大数据·数据仓库·bi