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