第8页
第4排
本例旨在说明FME编写者如何处理数据,它如何影响性能,以及如何控制它。
作为一个类比,我喜欢把它比作机场候机厅;就像有多个作家一样,一个机场可以有多个航班——由于FME不是多线程的,这意味着我们的机场只有一个登机门。这意味着我们必须使用特定的技术来避免候机厅变得过于拥挤。
本练习从一个OpenStreetmap数据阅读器开始。数据分为多个组,每个组分配给特定的编写器。
目前,编剧们并没有以任何特定的方式被订购。任务是评估每个组包含多少数据,并相应地对编写器重新排序。
注意克隆变压器和已发布的参数以控制它们。这些转换器可以使源数据特性成倍增加,从而降低工作区的速度,并帮助识别由编写器顺序引起的差异。只有少量的数据,性能的任何变化都可能只是随机波动。
详细步骤
1)启动FME工作台,打开工作区(或模板)。
运行工作区。检查日志窗口。记下运行工作区所用的时间和所用的最大内存。在我的电脑上我得到:
FME会话持续时间:29.0秒。(CPU:24.1s用户,0.6s系统)
结束进程ID:7568,峰值进程内存使用:220316 KB
默认情况下,写入程序按它们在导航器窗口中显示的顺序执行,原来的订单是土地利用,建筑,公路,环境。然而,可以通过在导航器窗口中将一个编写器拖动到另一个编写器上方来更改顺序:
2)按特征类型评估数据。
检查每组数据有多少个功能类型。重新排序编写器,使具有最多功能类型的组是第一个编写器,接下来依次是其余的作者。
运行并重新检查日志。在我的电脑上,结果是:
FME会话持续时间:29.6秒。(CPU:23.8S用户,0.5s系统)
结束进程ID:4468,峰值进程内存使用率:219976 KB
这是否减少了计算机上的时间或资源?您认为特征类型的数量是我们对数据量的一个很好的评估吗?
3)按特征评估数据。
在刚刚运行的工作区中,记录特征计数(即向每个作者发送了多少功能)。重新排序编写器,使具有最多功能的组成为第一个编写器,接下来依次是其余的作者。
运行并重新检查日志。在我的电脑上,结果是:
FME会话持续时间:25.2秒。(CPU:23.5S用户,0.5s系统)
结束进程ID:4513,峰值进程内存使用率:219236 KB
这是否减少了计算机上的时间或资源?您认为特征类型的数量是我们对数据量的一个很好的评估吗?
4)按文件大小评估数据。
浏览到输出数据文件并检查每个文件的文件大小。重新排序写入程序,使文件大小最大的组是第一个写入程序,接下来依次是其余的作者。
作家的顺序有什么不同吗?如果是这样,运行并重新检查日志。
5)评估完整的作者顺序
在所有这些方面,作家的完整顺序有关系吗?还是先获取最大的数据集很重要?尝试将文件顺序调整为最大,最小的,第三大,第二大。
重新运行工作区并检查日志。有什么区别吗?你为什么认为这是/不是事实?
6)检查第一功能设置
在导航器窗口中,找到名为“订单编写器”的工作区设置:
请注意,如何更改此参数,以允许按功能到达的顺序(即在机场类比中,第一个到达的乘客决定先登机的航班)。
如何控制工作区中功能的顺序?记住,从我们所学到的,阻塞变压器可能会影响数据的顺序,从而影响写入的顺序。
你为什么要用这个方法?
数据属性
此处使用的数据来源于开放式街道地图以及它的贡献者。它包含根据开放数据共享开放数据库许可证(ODBL)由OpenStruts地图基金会(OSMF)。
?2019安全亚搏在线软件公司|法律