斯潘8
斯潘4
本例旨在说明哪些参数可以清除阻塞的变压器。
本练习从计算温哥华市停车计时器统计数据的工作区开始。它将数据分组在一起,因此重要的部分是探索如何“解锁”分组变压器以更有效地进行操作。
1)启动FME工作台,打开工作区(或模板)。注意,我们正在读取停车计时器的数据集并计算最小值,最大值,每个街区的平均停车率;这是通过设置为“邻居”的分组来完成的。
右键单击StatisticScaleCalculator和Logger/Inspector Transformer之间的连接。选择添加断点的选项:
2)从菜单栏中选择运行>带断点运行:
确保功能缓存已关闭!断点和功能缓存彼此不兼容。
现在运行工作区。请注意,所有源功能都是从源数据集中读取的,以便在生成第一个输出功能之前读取8602个功能(并存储在内存中)。
单击“继续下一个断点”按钮,使每个功能一次输出一个。对一些功能执行此操作,然后单击停止按钮停止翻译。
NB:如果功能计数最初停止在8144,这是因为显示器还没有更新以显示读取的功能的实际数量。日志消息“清空工厂管道”确认数据已全部读取,显示只是为了赶上。
3)所以统计量计算器是一个阻滞器变压器。它保存了所有的仪表功能,直到它拥有所有功能,这样它就可以形成一组。唯一能“解除”转换器并节省资源的方法是,如果数据已经预先排序为邻域顺序。
所以,在数据检查器中打开源数据,并检查表视图中的“邻居”列。它应该显示数据已经按照以下顺序按邻居排序:市中心,美景,基思拉诺,普莱森特山,斯特拉斯科纳,西端。
4)返回工作台,设置按组排序的StatisticScaleCalculator参数输入:
重新运行翻译。这一次注意到,在读取所有数据之前,变压器开始输出特性,因此,它必须在内存中存储较少的数据。每次单击“继续到下一个断点”都会输出一个新功能,并读取下一组功能。
如果你愿意,在读卡器后面加一个采样变压器,只允许每10个特征(或更少)通过。这样,您只需单击“下一步”按钮几次。
教训:通过使用输入顺序参数,统计量计算器一次处理一组特征,在下一组被阅读之前。然而,它确实要求源数据已经以正确的顺序存在。
NB:如果检查使用的峰值内存,会更少吗?理论上,对。实际上不是,但这部分是因为我们只处理少量的数据,部分是因为我们使用的是StatisticsCalculator:Summary端口,它允许我们使用断点,但由于某种原因会扭曲内存使用。
数据属性
此处使用的数据源于温哥华市,不列颠哥伦比亚省。它包含根据开放政府许可证(温哥华)获得许可的信息。
?2019安全亚搏在线软件公司|合法的