获取有限制的数据

Get data with limits

我是 Kettle Transformations 的新手,但我发现我正在处理的项目有问题。

一个GET转换调用到服务器,服务器returns的数据格式为JSON。我遇到的问题是数据量非常大 JSON,比方说 80.000 JSON 文档,所以有时服务器会宕机。

我想知道我是否可以在转换本身中设置一个 JSON 的限制,换句话说:我想获得 3000 JSON 然后是下一个 3000 JSON .

有没有办法通过转换来做到这一点? 这是我获取数据的方式

我正在尝试

&limit=3000

在我调用的 URL 中,但我只获得了前 3000 个文档,我需要使用它处理 3000 个文档,然后是下一个 3000 ...

不在 PDI 步骤中,除非您可以使用 url 指定 limitoffset 参数。这些参数必须在为您提供数据的服务器上定义。 api 的开发人员通常会对这些参数进行编码,因为他们知道像您这样的人会下载大量数据。遗憾的是,这是最佳实践而非规范,因此无法在 Data Integrator 中实施。

试一试。为此,请使用 parameter 选项卡而不是 url 中的 ?limit=&offset=。这样,这些值可能来自上一步,您将能够按块读取服务器。

您还可以增加 Response time,这是您的 PDI 在确定服务器已关闭之前等待服务器响应的最长时间。

您也可能会发现 REST Client 步骤的错误,要么在主作业中,要么在您放下鼠标定义步骤时选择它。在那种情况下,您可能已经添加了一些额外的逻辑,以便在 15 百万年后 http 失败时重新启动该过程。如果你选择这个解决方案,注意在尝试 3 或 5 次后停止,否则你可能会填满空闲进程的内存。