斯潘8
斯潘4
加载数据的最简单方法之一是批量下载和加载。然而,这可能不是最好的方法。
如果您有需要定期更新的数据集,或者由于数据更改或实时数据更改而需要更新的数据集,是否有更有效的方法将更改传播到数据集?
如果要删除和加载数据,需要多长时间进行处理,它们对其他需要这些数据的服务或用户有何影响?
FME有更好的方法来处理数据变更。
FME中的某些格式允许您控制正在写入的数据的特征操作。这些操作可以是:插入,更新,删除或取消插入。这些可以控制在功能类型级别,或在按功能基础。
将操作设置为功能类型级别,打开要素类型参数并选择所需的操作。
将操作设置为按功能基础,创建一个名为fme_db_operation的新属性,并将该值设置为正确的,支持的操作。
任何依赖现有功能的操作都需要选择具有唯一值的列,这样编写器就可以将特性与现有的行相匹配。
这些选项还可以与表或工作表处理选项一起使用。这些可能包括:使用现有的,必要时创建,删除并创建或截断现有的。
我应该选择什么操作或处理选项?
这取决于:
您是否担心数据写入的速度?
您是否担心交易速度/交易量?
你的数据重要吗?
是否需要覆盖数据?
使用现有的:
如果已设置现有表并希望插入新行,则使用,或更新或删除现有行。
根据需要创建:
如果插入数据且不确定表是否已存在,则使用。如果确实如此,FME会给它写信。如果没有,FME可以创建它。
删除并创建:
如果需要删除任何现有数据并删除表结构,请使用,可能添加或删除列,更改数据类型等。
截断现有:
如果要删除所有现有数据,但保留表格结构。
实时影响:
如果要删除或截断表,此选项将比插入/更新/删除选择功能慢,因为需要额外的时间删除所有功能并重新写入。由于数据行很少,这次可能无关紧要,但对于更大的数据集,这将更加明显。
你需要一个谷歌帐号来完成这个练习。
谷歌工作表数据加载.fmwt
演示这些不同功能的一个简单方法是使用Google工作表,这将允许您查看正在写入的工作表。
试试看:
您需要替换Google Sheets Writer,以便它使用您的凭证进行连接。在google sheets参数中,您需要设置刷新令牌(将提示您登录到您的google帐户)和电子表格名称或url(现有google sheet的url)。
工作区应如下所示:
确保仅启用取样器,你可以在工作区运行时看到谷歌的工作表。
当FME写出单元格时,您应该能够看到Google的工作表。正如Google Sheets Writer在单元基础上编写的那样,而不是特征/行(如数据库),写的属性和特性越多,写的时间就越长。
如果您禁用了取样器并从PostAddress Reader功能类型发送功能,你应该直接看到,写出来要花很长时间。您需要将工作表处理选项设置为“截断现有”。
如果有什么导致工作区无法写入,可能会留下丢失或不完整的数据集。如果在截断和写入过程中数据在一段时间内不可用,您还可能会发现尝试访问存储在那里的数据的其他系统或服务是否会产生不正确的结果。
有了谷歌表,更新或删除现有行的选项基于行号。
启用采样器并打开随机采样。在取样器前面加一个计数器。在Google Sheets Writer功能类型中,将功能操作设置为“fme_db_operation”,将行号属性设置为“u count”属性。您应该看到工作表处理选项更改为“使用现有”。
采样输出采样端口后,添加一个attributeCreator,并创建值为delete的fme_db_operation属性。对于非采样输出端口,添加attributeCreate并创建值为update的fme_db_operation属性。将两个属性创建器的输出发送到Google Sheets Writer功能类型。
如果你在FME运行的时候看谷歌的表单,当FME写入时,您应该看到一些行消失,一些行值改变。
?2019安全亚搏在线软件公司|合法的