再谈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具体信息作者这里就不直接公布,如果有需要可以联系作者

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

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

相关文章

国产操作系统上多种压缩和解压命令详解 _ 统信 _ 麒麟 _ 中科方德

原文链接:国产操作系统上多种压缩和解压命令详解 | 统信 | 麒麟 | 中科方德 Hello,大家好啊!今天给大家带来一篇在国产操作系统上多种压缩和解压命令详解的文章。压缩和解压缩是我们在日常工作中经常需要进行的操作,尤其是在处理大…

【AIGC】用 AI 绘画 诠释印象派!关键词、安装包分享!

前言 印象派艺术运动是19世纪60年代法国的一场艺术革命,它不仅革新了绘画技法,更重新诠释了光与色彩、自然与美。印象派艺术家,如莫奈、雷诺阿和德加,通过捕捉自然光线的瞬息变化,用色彩和笔触表达对现实世界的独特感…

Theta方法:一种时间序列分解与预测的简化方法

Theta方法整合了两个基本概念:分解时间序列和利用基本预测技术来估计未来的价值。 每个数据科学爱好者都知道,时间序列是按一定时间间隔收集或记录的一系列数据点。例如,每日温度或经济指标的月值。把时间序列想象成不同成分的组合,趋势(数据…

取证工作:怎样解锁 LUKS2 加密磁盘?

对于 LUKS2 密码进行恢复,Elcomsoft Distributed Password Recovery (简称 EDPR) 软件可以构建高性能集群,以更快地破解密码。EDPR 软件提供零开销的可扩展性,并支持 GPU 加速,以加快恢复速度。EDPR 可帮助…

Redis-实战篇-编码解决商铺查询的缓存穿透问题(缓存空对象)

文章目录 1、缓存穿透2、常见的解决方案有两种:2.1、缓存空对象2.2、布隆过滤器 3、编码解决商铺查询的缓存穿透问题3.1、queryById3.2、RedisConstants.java 1、缓存穿透 缓存击穿是指客户端请求的数据在缓存中和数据库中都不存在,这样缓存永远不会生效…

【b站-湖科大教书匠】3 数据链路层-计算机网络微课堂

课程地址:【计算机网络微课堂(有字幕无背景音乐版)】 https://www.bilibili.com/video/BV1c4411d7jb/?share_sourcecopy_web&vd_sourceb1cb921b73fe3808550eaf2224d1c155 3 数据链路层 3.1 数据链路层概述 3.1.1 数据链路层在网络体系结…

2024华为数通HCIP-datacom最新题库(变题更新⑤)

请注意,华为HCIP-Datacom考试831已变题 请注意,华为HCIP-Datacom考试831已变题 请注意,华为HCIP-Datacom考试831已变题 近期打算考HCIP的朋友注意了,如果你准备去考试,还是用的之前的题库,切记暂缓。 1、…

【项目管理体系】代码评审规范

1完整性检查 2一致性检查 3正确性检查 4可预测性检查 5健壮性检查 6结构性检查 7可追溯性检查 8可理解性检查 9可验证性检查 软件开发全套资料获取:(本文末个人名片直接获取) 软件产品,特别是行业解决方案软件产品不同于一般的商品…

JavaScript中常用数据类型做布尔值(Boolean)转换

一、前言 二、示例 1、String转Boolean 2、Number转Boolean 3、NaN、Null、undefined 转Boolean 4、Object转Boolean 5、Array转Boolean 6、Symbol转Boolean 三、总结 四、思考 一、前言 JavaScript中,经常需要对一些值进行boolean判断,根据判…

DDoS攻击的最新防御策略:从检测到缓解的全方位方案

在数字化浪潮的推动下,互联网已成为现代社会的血脉。然而,随着网络空间的不断膨胀,分布式拒绝服务(DDoS)攻击如同潜伏在暗处的猛兽,随时准备发动致命一击,威胁着网络的稳定与安全。面对这一严峻…

前端-echarts tooltip展示多项自定义数据

效果如图,鼠标滑动到某一个柱子的时候,出现这一项数据的多个自定义数据,外加自己的模板样式渲染。 希望能展示每一列中的多个自定义数据 代码部分 主要是在data中,value就是实际展示的主数据,其他字段名为自定义的数…

Linux常见操作问题

1、登录刚创建的用户,无法操作。 注:etc/passwd文件是Linux操作系统中存储用户账户信息的文本文件,包含了系统中所有用户的基本信息,比如用户名、用户ID、用户组ID、用户家目录路径。 注:etc: 这个目录存放所有的系统…

Java工具包——Lombok

目录 1. maven仓库手动导入依赖注解 1.1 maven仓库引入依赖 1.2 在类上使用Data注解 1.3 在属性上使用Getter与Setter注解 2. EditStarters插件注解 2.1 安装EditStarters插件 2.2 在pom.xml中进行操作 2.3 在java对象类中使用注解 3. lombok工具使用结果查看 3.1…

腾讯云CVM,CentOS8系统下部署Java-Web项目步骤详解

在CVM中部署项目首先要配置好JDK,Tomcat,Mysql(这里以Tomcat和Mysql为例)。部署JDK和Tomcat的步骤可以参考 CentOS7系统下部署tomcat,浏览器访问localhost:8080/_不积跬步,无以至千里;不积小流,无以成江河。-CSDN博客 我这里从Mysql的安装和设…

HDOJ5616 Jam‘s balance

目录 HDOJ5616 Jams balance题目描述背景输入输出 题解解法一解法二优化 打赏 HDOJ5616 Jam’s balance 题目描述 背景 有 N N N个已知质量的砝码,分别询问给出的 M M M个质量能否被称出 输入 第一行输入一个变量 T T T,表示有 T T T组数据&#xf…

数据预处理功能教程,上传文件生成知识库 | Chatopera

如何快速的生成高质量的知识库? 数据预处理功能教程 | Chatopera 云服务低代码定制聊天机器人 关于 Chatopera Chatopera 云服务重新定义聊天机器人,https://bot.chatopera.com 定制智能客服、知识库、AI 助手、智慧家居等智能应用,释放创新…

【java算法专场】双指针(上)

目录 前言 基本原理 对撞指针 快慢指针 移动零 算法思路 算法步骤 代码实现 算法分析 复写零 算法思路 算法步骤 代码实现 快乐数 算法思路 算法步骤 代码实现 盛最多水的容器 ​编辑算法思路 代码实现 前言 双指针是一种在数组或链表等线性数据结构中高效…

Axure 教程 | 雅虎新闻焦点

主要内容 在雅虎首页,新闻焦点大图和焦点小图同步切换轮播,本课程我们来学习如何实现这个效果。 交互说明 1.页面载入后,切换当前屏幕显示的5张焦点图,小图标处以横线提示当前焦点图。 2.鼠标移入焦点大图,新闻标题显示…

马斯克的SpaceX星舰有多牛?我们离殖民火星还有多远?

本文首发于公众号“AntDream”,欢迎微信搜索“AntDream”或扫描文章底部二维码关注,和我一起每天进步一点点 埃隆马斯克是一位知名的企业家和工程师,他掌握着多家公司,涉及多个领域,包括电动汽车、太空探索、太阳能、脑…

Charles 证书迁移/复制,实现手机安装一次证书可以连接多个设备的 charles 效果

如果你希望在一个手机上安装一次证书,但是使用这个手机可能在不同的时候去连接你自己安装了Charles的不同设备。比如你在公司有有一个电脑,你在家里也有一个电脑,甚至还有一个笔记本等。 如果想实现只给手机安装一次证书,就可以都…