获取有限制的数据
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 指定 limit
和 offset
参数。这些参数必须在为您提供数据的服务器上定义。 api 的开发人员通常会对这些参数进行编码,因为他们知道像您这样的人会下载大量数据。遗憾的是,这是最佳实践而非规范,因此无法在 Data Integrator 中实施。
试一试。为此,请使用 parameter
选项卡而不是 url 中的 ?limit=&offset=
。这样,这些值可能来自上一步,您将能够按块读取服务器。
您还可以增加 Response time
,这是您的 PDI 在确定服务器已关闭之前等待服务器响应的最长时间。
您也可能会发现 REST Client
步骤的错误,要么在主作业中,要么在您放下鼠标定义步骤时选择它。在那种情况下,您可能已经添加了一些额外的逻辑,以便在 15 百万年后 http 失败时重新启动该过程。如果你选择这个解决方案,注意在尝试 3 或 5 次后停止,否则你可能会填满空闲进程的内存。
我是 Kettle Transformations
的新手,但我发现我正在处理的项目有问题。
一个GET
转换调用到服务器,服务器returns的数据格式为JSON
。我遇到的问题是数据量非常大 JSON,比方说 80.000 JSON 文档,所以有时服务器会宕机。
我想知道我是否可以在转换本身中设置一个 JSON
的限制,换句话说:我想获得 3000 JSON
然后是下一个 3000 JSON
.
有没有办法通过转换来做到这一点?
这是我获取数据的方式
我正在尝试
&limit=3000
在我调用的 URL 中,但我只获得了前 3000 个文档,我需要使用它处理 3000 个文档,然后是下一个 3000 ...
不在 PDI 步骤中,除非您可以使用 url 指定 limit
和 offset
参数。这些参数必须在为您提供数据的服务器上定义。 api 的开发人员通常会对这些参数进行编码,因为他们知道像您这样的人会下载大量数据。遗憾的是,这是最佳实践而非规范,因此无法在 Data Integrator 中实施。
试一试。为此,请使用 parameter
选项卡而不是 url 中的 ?limit=&offset=
。这样,这些值可能来自上一步,您将能够按块读取服务器。
您还可以增加 Response time
,这是您的 PDI 在确定服务器已关闭之前等待服务器响应的最长时间。
您也可能会发现 REST Client
步骤的错误,要么在主作业中,要么在您放下鼠标定义步骤时选择它。在那种情况下,您可能已经添加了一些额外的逻辑,以便在 15 百万年后 http 失败时重新启动该过程。如果你选择这个解决方案,注意在尝试 3 或 5 次后停止,否则你可能会填满空闲进程的内存。