transformation - 获取有限制的数据
问题描述
我是新手,Kettle Transformations
但我发现我正在从事的项目中有问题。
GET
转换调用服务器,服务器以格式返回数据JSON
。我遇到的问题是数据是大量的 JSON,比如说 80.000 个 JSON 文档,所以有时服务器会出现故障。
我想知道是否可以JSON
在转换本身中设置 got 的限制,换句话说:我想获得 3000 ,然后再获得JSON
下一个 3000 JSON
。
我正在尝试
&limit=3000
在我调用的 URL 中,但我只得到前 3000 个文档,我需要让 3000 个文档使用它,然后是下一个 3000 ...
解决方案
不在PDI步骤中,除非你可以 用url指定limit
and参数。offset
这些参数必须在为您提供数据的服务器上定义。通常 api 的开发人员对这些参数进行编码,因为他们知道像你这样的人会下载大量数据。不幸的是,这是最佳实践而非规范,因此无法在 Data Integrator 中实施。
试试。为此,请使用parameter
选项卡而不是?limit=&offset=
url 中的。就像这些值可能来自上一步一样,您将能够按块读取服务器。
您还可以增加Response time
PDI 在决定服务器关闭之前等待服务器响应的最长时间。
您还REST Client
可以在主作业中捕获该步骤的错误,或者在您放下鼠标定义步骤时选择它。在这种情况下,您可能已经添加了一些额外的逻辑,以便在 http 失败 1500 万之后重新启动进程。如果您选择此解决方案,请注意在 3 或 5 次试验后停止,否则您可能会填满空闲进程的内存。
推荐阅读
- java - 如何使 Java 上限通配符类型参数符合 Kotlin?
- algorithm - re.finditer 背后的算法是什么?
- python - 用pygame创建几个敌人的问题
- ajax - 文件名在自定义文件中不可见 输入控件后 Partial View Re Rendering via ajax call
- node-modules - 通过纱线添加引导主题后系统测试失败
- reactjs - 如何使用反应和打字稿修复错误“false类型的参数不可分配给(currentValue:boolean)=> boolean”?
- python - Databricks 上的 turbodbc - 此 turbodbc 安装不支持 Apache Arrow 扩展。请安装`pyarrow`包
- javascript - 获取 li 项目并将它们添加到 javascript obj
- r - 有没有一种快速的方法可以将数据表转换为数据表列表?
- azure - 试图找到与 New-AzureADGroupAppRoleAssignment 等效的 Azure CLI