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