span8
span4
本例旨在说明哪些参数可以清除阻塞的变压器。
这个练习从一个计算温哥华市停车计时器统计数据的工作区开始。它将数据分组在一起,因此,重要的部分是探索如何“解锁”分组转换器,使其更有效地工作。
1)启动FME工作台,打开工作区(或模板)。注意,我们正在读取停车计时器的数据集并计算最小值,最大,以及每个小区的平均停车率;这是使用Group-By set to Neighborhood完成的。
右键单击统计计数器和日志记录器/检查器变压器之间的连接。选择添加断点的选项:
2)从菜单栏中选择Run > Run with breakpoints:
确保关闭了特性缓存!断点和特性缓存彼此不兼容。
现在运行工作区。注意,所有源特性都是从源数据集中读取的,因此在生成第一个输出特性之前,要读取(并存储在内存中)8602个特性。
单击“继续到下一个断点”按钮,使每个特性一次输出一个。对一些特性执行此操作,然后单击Stop按钮停止翻译。
注:如果特性计数最初停止在8144,这是因为还没有更新显示读取的特性的实际数量。日志消息“清空工厂管道”确认数据已全部读取,展览只是为了赶上潮流。
因此,统计标量是一个阻塞变压器。它保存了所有的仪表功能,这样就可以形成基团。我们能够“解除阻塞”转换器并节省资源的唯一方法是,数据已经预先按邻域顺序排序。
所以,在数据检查器中打开源数据,并检查表视图中的邻列。它应该显示数据已经按照以下顺序按照邻里进行了排序:费尔文,Kitsilano,愉快的,斯特拉思科,西区。
4)回到工作台,将按组顺序输入的StatisticsCalculator参数设置为:
重新运行转换。这一次请注意,转换器在读取所有数据之前就开始输出特性,所以它必须在内存中存储更少的数据。每次单击“继续到下一个断点”都会输出一个新特性,并读取下一组特性。
如果你愿意,在读取器后面添加一个采样变压器,让每10个特性(或更少)通过。这样你就可以更少地点击next按钮。
教训:通过使用输入有序参数,统计计算器一次处理一组特征,甚至在阅读下一组之前。然而,它确实要求源数据已经以正确的顺序存在。
注:如果检查使用的峰值内存,会更少吗?在理论上,是的。在实践中没有,但是,这部分是因为我们只处理少量的数据,部分是因为我们使用了StatisticsCalculator:Summary端口——它允许我们使用断点,但由于某种原因会影响内存使用。
数据属性
此处使用的数据源自温哥华的城市,不列颠哥伦比亚省。它包含在开放政府许可下的信息-温哥华。
©2019安全亚搏在线软件公司法律