span8
span4
FME中的数据合并或连接是通过使用转换器来完成的。这些转换器允许用户为连接的基础定义关系。本文将讨论哪种转换器最适合合并来自电子表格或数据库的数据。如果您对合并空间数据感兴趣,请参见合并或连接空间数据篇文章。
合并或连接数据不同于在FME中连接数据流。当数据被合并时,每个数据集的属性基于一个公共标识符组合在一起,然后作为单个融合数据集输出。当数据流只是通过将两个连接连接到一个转换器的输入端口而不是合并转换器来连接时,数据将在一个单独的流中,但是属性仍然是独立的。有关组合数据流的更多信息,请参见组合多个数据流(Append vs。合并或加入)篇文章。
对于合并或加入转换器,主要有两类:SQL和非SQL。属于SQL类的转换器需要SQL知识;它们是InlineQuerier、SQLCreator和SQLExecutor。无SQL转换器具有与SQL转换器相同的功能,但无需任何数据库知识即可轻松设置;这些是FeatureJoiner、FeatureMerger、FeatureReader和DatabaseJoiner。这不是一个详尽的列表,还有其他一些转换器允许连接数据,但用于特定的任务。有关其他变压器的更多信息,请参见文件。
现在,在决定使用哪个转换器时,请遵循下面的流程图提供帮助。当你试图做出决定时,检查你的数据并提出以下问题:
1)我的所有数据都已经在工作区内了吗?
如果是:遵循内部路径
如果否:遵循外部路径
2)内部的FeatureJoiner或外部的DatabaseJoiner是否为我的数据工作?
如果是:太好了!在这里结束
如果否:继续问题3
3)我知道还是想使用SQL?
如果是:请参见绿色SQL框中的变压器
如果否:请参见蓝色的“无SQL”框中的“变压器”
4)这些变压器有没有工作?
如果是:太好了!
如果没有:请阅读文档以确保其设置正确并符合您的需要
如果不确定:重新阅读文档,如果仍然不确定,请我们社区的问题。亚搏国际在线官网
按字母顺序列出的变压器:
DatabaseJoiner(以前称为Joiner transformer)提供了针对工作空间中现有数据集的数据库或其他外部数据集形成连接的能力。
FeatureJoiner transformer是FeatureMerger的一个简单版本,它使用基于SQL的连接,具有更好的性能。无需事先了解SQL,就可以轻松地使用这个转换器。*注:该变压器仅适用于FME 2018+
FeatueMerger在内存中执行简单的连接。连接从两个或多个数据流中执行,这些数据流已经使用阅读器或转换器(如FeatureReader)读取。
FeatureReader从任何fme支持的格式中读取特性。这可以在中游完成,这有助于快速添加和连接数据。
内联查询器利用了SQL的强大功能。它可以通过使用临时数据库(由从传入特性创建的表组成)并将结果(由SQL语句生成)作为新特性返回,从而更直接地构建数据链接。
SQLExecutor和SQLCreator转换器非常相似。它们都用于对数据库执行SQL。唯一的区别是SQLExecutor需要一个传入特性来触发SQL语句,而SQLCreator不需要。
SQLExecutor和SQLCreator Transformers教程
寻找空间连接变压器?见合并或连接空间数据篇文章。
©2019安全亚搏在线软件公司法律