再谈kettle两种循环之--调用http分页接口循环获取数据

再谈kettle两种循环之 – 调用http分页接口循环获取数据

1.场景介绍:

由于数据量比较大,接口有返回限制,需要用到循环分页获取数据
在这里插入图片描述

2.案例适用范围:

循环job可参考,变量运用可参考,调用http分页接口循环获取数据可参考,生成连续记录可参考,MD5加密可参考

3.整个job设置如下设计:

循环方式1
在这里插入图片描述

循环方式2
在这里插入图片描述
4.JOB运行结果

调用接口返回总数据量:
在这里插入图片描述

循环方式1
在这里插入图片描述
在这里插入图片描述

循环方式2
在这里插入图片描述
在这里插入图片描述
两种循环分页获取方式结果和实际接口数据一致,代表循环分页获取接口数据的过程正确

5.JOB过程分步骤介绍

循环方式1的设计主要有4个步骤

  • Execute SQL Script组件清空表数据,目的是支持重跑
    在这里插入图片描述

主要是获取数据总量,根据设置每页数量计算循环次数(数据有多少页就循环多少次)
在这里插入图片描述

  • Evaluating JavaScript 组件主要是根据页数控制循环
    在这里插入图片描述

  • GET_HOUSE_DATA转换获取数据
    在这里插入图片描述
    表输入:这里采用数据库连接,运用sql的方式生成http接口调用信息,框出来部分是循环变量替换的关键设置
    在这里插入图片描述
    MD5加密及获取token步骤这里不细说具体可以参考之前的文章kettle使用MD5加密增量获取接口数据
    在这里插入图片描述
    接口根据request_body设置分页请求数据,然后解析入库
    在这里插入图片描述
    总结:循环方式1的设计关键在于javascript控制循环,需注意数据量太大,循环次数过多会报内存溢出的错误,经过测试大概在循环200次左右会报错,数据量不是特别建议用这种方式

循环方式2的设计主要也是4个步骤

  • Execute SQL Script组件清空表数据,目的是支持重跑和循环1设计一致
  • SET_TOTAL_NUM转换设计和循环1也一样
  • GENERATE_LOOP_ROWS转换主要是根据页数生成循环的页数和每页数量的结果列表,结果列表如下
    在这里插入图片描述
    过程设置如下:
    在这里插入图片描述
  • GET_HOUSE_DATA转换获取数据设计和循环1一样

总结:循环的设计可以解决循环1内存溢出的问题,该设计关键在于需要在job中勾选GET_HOUSE_DATA转换的两个勾以及设置参数传递(Options 下的Execute every input row和Parameters下的Copy results to parametes)

整个设计作者亲自测试过,没有问题,如大家在使用过程中发现不能成功,可以检查一下每个步骤中是否有遗漏,如内容描述有错欢迎大家指正!!!

读后有疑问请加QQ群来聊一聊 kettle那些事!作者个人qq:420773639

因资源涉及到API具体信息作者这里就不直接公布,如果有需要可以联系作者

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【idea-jdk1.8】使用Spring Initializr 创建 Spring Boot项目没有JDK8

信息差真可怕! 很久没创建springboot项目,今天使用idea的Spring Initializr 创建 Spring Boot项目时,发现java版本里,无法选择jdk1.8,只有17、21、22;前段时间也听说过,springboot将放弃java8&a…

Java面试问题(一)

一.Java语言具有的哪些特点 1.Java是纯面向对象语言,能够直接反应现实生活中的对象 2.具有平台无关性,利用Java虚拟机运行字节码文件,无论是在window、Linux还是macOS等其他平台对Java程序进行编译,编译后的程序可在其他平台上运行…

深入理解计算机系统 CSAPP 家庭作业7.13

用一下496页提到的工具咯 A: whereis libm.a file lidm.a gedit libm.a libm.a是个ASCII text文件打开一看原来 libm-2.27.a 和libmvec.a才是我们要看的 所以我们cd到目标地址后 ar -t libm-2.27.a ar -t libmvec.a B: gcc -Og bar5.c foo5.c 用之前的两个文件链接后生成…

使用AI机器学习,轻松解决化合物配比优化问题

为什么需要化合物配比的优化? 在化合物制造行业中,化合物的配比是产品质量控制的关键环节。 化合物制造流程 目前,这一过程高度依赖于材料专家和工程技术人员的经验,通过反复试验来验证产品性能,确保其满足市场和客户的…

JavaWeb系列八: WEB 开发通信协议(HTTP协议)

HTTP协议 官方文档什么是HTTP协议快速入门页面请求的一个问题(分析)http请求包分析(get)http请求包分析(post)GET请求 POST请求分别有哪些http响应包分析常用的状态码说明状态码200状态码404状态码500状态码302状态码304 MIME类型MIME介绍常见的 MIME 类型 官方文档 HTTP常见请…

一家大型银行的电子课程示例

Logrus IT的专家为最大的金融公司之一开发了一门课程,作为一个交互式路线图,向用户介绍公司的业务部门。我们的设计师以企业风格创造了独特的布局,每个课程模块都被创造性地表示为一个单独的建筑。用户可以在部门之间进行非线性导航&#xff…

Java基础:常用类(四)

Java基础:常用类(四) 文章目录 Java基础:常用类(四)1. String字符串类1.1 简介1.2 创建方式1.3 构造方法1.4 连接操作符1.5 常用方法 2. StringBuffer和StringBuilder类2.1 StringBuffer类2.1.1 简介2.1.2 …

编程设计思想

健康检查脚本 nmap:扫描端口 while true do healthycurl B:httpPORT/healthy -i | grep HTTP/1.1 | tail -n 1 | awk {print $2} done 批量操作类型脚本(记录每一步日志) 将100个nginx:vn推送到harbor仓库192.168.0.100 根据镜像对比sha值…

jdk1.8升级到jdk11遇到的各种问题

一、第三方依赖使用了BASE64Decoder 如果项目中使用了这个类 sun.misc.BASE64Decoder,就会导致错误,因为再jdk11中,该类已经被删除。 Caused by: java.lang.NoClassDefFoundError: sun/misc/BASE64Encoder 当然这个类也有替换方式&#xf…

mysql查询2个日期之间的数据,表字段只有年和月,无日期字段查询的解决

1.核心mysql查询 SELECT * FROM 表名 WHERE CONCAT(year, -, LPAD(month, 2, 0)) > 2022-02-08 AND CONCAT(year, -, LPAD(month, 2, 0)) < 2024-06-06;2.表结构 CREATE TABLE ys_datezzq (id int(10) NOT NULL AUTO_INCREMENT,bid int(10) NOT NULL DEFAULT 0 COMMEN…

海外云服务器与传统服务器的对比与选择

在信息技术快速发展的今天&#xff0c;海外云服务器和传统服务器成为企业和个人用户的两大选择。它们各有优势&#xff0c;适用于不同的使用场景和需求。下面&#xff0c;我们将从多个角度对这两种服务器进行深入对比&#xff0c;帮助您做出更明智的决策。 基础设施 海外云服务…

【神经网络】深入理解多层神经网络(深度神经网络

&#x1f388;个人主页&#xff1a;豌豆射手^ &#x1f389;欢迎 &#x1f44d;点赞✍评论⭐收藏 &#x1f91d;希望本文对您有所裨益&#xff0c;如有不足之处&#xff0c;欢迎在评论区提出指正&#xff0c;让我们共同学习、交流进步&#xff01; 深入理解多层神经网络&#x…

【若依前后端分离】前端vue页面查看服务器本地的PDF

后端实现&#xff1a; 使用FileSystemResource包装文件&#xff0c;以便Spring MVC可以处理该资源 创建HttpHeaders对象以设置响应头 设置Content-Disposition头&#xff0c;使得浏览器以内联方式显示PDF&#xff08;即在浏览器中直接打开&#xff09; 设置Content-Type为appli…

编译器优化禁用对计算浮点加法运算时间的影响

编译器优化是现代编译器的重要功能&#xff0c;旨在提升程序的执行效率和性能。然而&#xff0c;在某些特定的测试或精确计算场景中&#xff0c;我们需要禁用这些优化以确保所有计算按预期执行。下面研究在 Keil 编译器中禁用和启用优化对执行多次次浮点除法运算时间的影响。 …

从云原生视角看 AI 原生应用架构的实践

本文核心观点&#xff1a; 基于大模型的 AI 原生应用将越来越多&#xff0c;容器和微服务为代表的云原生技术将加速渗透传统业务。API 是 AI 原生应用的一等公民&#xff0c;并引入了更多流量&#xff0c;催生企业新的生命力和想象空间。AI 原生应用对网关的需求超越了传统的路…

【SpringMVC】_SpringMVC实现留言墙

目录 1. 需求分析 2. 接口定义 2.1 提交留言 2.2 获取全部留言 3. 响应数据 4. 服务器代码 4.1 MessageInfo 文件 4.2 MessageController 文件 5. 前端页面代码 5. 运行测试 1. 需求分析 实现如下页面&#xff1a; 1、输入留言信息&#xff0c;点击提交后&#xff0…

Java版小程序商城免费搭建-直播商城平台规划及常见营销模式解析

平台概述 1. 平台组成 管理平台&#xff1a;提供全方位的系统设置、数据统计、商家管理、订单管理等后台管理功能。商家端&#xff1a;支持PC端和移动端操作&#xff0c;便于商家进行商品管理、订单处理、营销活动设置等。买家平台&#xff1a;覆盖H5网页、微信公众号、小程序…

MySQL实训--原神数据库

原神数据库 er图DDL/DML语句查询语句存储过程/触发器 er图 DDL/DML语句 SET NAMES utf8mb4; SET FOREIGN_KEY_CHECKS 0;DROP TABLE IF EXISTS artifacts; CREATE TABLE artifacts (id int NOT NULL AUTO_INCREMENT,artifacts_name varchar(255) CHARACTER SET utf8 COLLATE …

精益管理真的需要请咨询公司吗?看完这篇再决定

在当今这个追求效率和效益的时代&#xff0c;精益管理已成为众多企业提升竞争力的重要法宝。然而&#xff0c;面对复杂的精益转型过程&#xff0c;不少企业主和管理者开始犯难&#xff1a;做精益管理&#xff0c;一定要请咨询公司来帮忙吗&#xff1f;今天&#xff0c;我们就来…

DWC USB2.0协议学习1--产品概述

目录 1. 系统概述 1.1 AHB总线接口 1.2 Data RAM接口 1.3 PHY 接口 1.4 外部DMA控制器接口 1.5 其他可选接口 1.6 发送和接收FIFO 2. 功能列表 2.1 一般功能 2.2 可配置功能 2.3 应用接口功能 2.4 MAC-PHY接口特征 2.5 系统Memory体系结构 2.6 Non-DWORD对齐支持…