数据合并#

在某些情况下,您可能需要合并(组合)并处理来自不同来源的数据。

数据合并可能涉及:

  • 从多个来源创建一个数据集
  • 在多个系统之间同步数据。这可能包括删除重复数据或在一个系统中的数据发生变化时更新另一个系统中的数据

单向同步 vs 双向同步

在单向同步中,数据仅在一个方向上同步。一个系统作为唯一真实数据源。当主系统中的信息发生变化时,它会自动在次要系统中更新;但如果次要系统中的信息发生变化,这些变更不会反映到主系统中。

在双向同步中,数据在两个方向(两个系统之间)同步。当任一系统中的信息发生变化时,它都会自动在另一个系统中更新。

这篇博客教程解释了如何在两个CRM系统之间进行单向和双向数据同步。

在n8n中,您可以使用Merge节点合并来自两个不同节点的数据,该节点提供多种合并选项:

请注意,组合 > 按字段合并需要您输入要匹配的字段。这些字段应在数据源之间包含相同的值,以便n8n能够正确匹配数据。在Merge节点中,它们被称为Input 1 FieldInput 2 Field

Merge节点中的属性输入字段

Merge节点中的属性输入字段

点表示法中的属性输入

如果您想在Merge节点参数Input 1 FieldInput 2 Field中引用嵌套值,需要以点表示法格式(作为文本,而不是表达式)输入属性键。

Note

您也可以在别名Join下找到Merge节点。如果您熟悉SQL连接操作,这个名称可能更直观。

合并数据练习#

构建一个工作流,将来自客户数据存储节点和代码节点的数据进行合并。

  1. 添加一个 Merge 节点,其中 Input 1 来自 Customer Datastore 节点Input 2 来自 Code 节点
  2. 在 Customer Datastore 节点中,运行 Get All People 操作。
  3. 在 Code 节点中,创建一个包含两个对象的数组,每个对象有三个属性:namelanguage 和 country,其中 country 属性包含两个子属性 code 和 name
    • 用客户数据库中两个角色的信息填充这些属性的值。
    • 例如,Jay Gatsby 的语言是英语,国家是美国。
  4. 在 Merge 节点中,尝试不同的合并选项。

显示解决方案

合并数据的工作流练习

使用保留匹配选项的 Merge 节点输出

循环处理#

在某些情况下,您可能需要对数组中的每个元素或每条数据执行相同的操作(例如向通讯录中的每个联系人发送消息)。用技术术语来说,您需要遍历数据(使用循环)。

n8n 通常会自动处理这种重复性操作,因为节点会对每个数据项运行一次,因此您无需在工作流中构建循环。

不过,存在一些节点和操作的例外情况,这些情况需要您在工作流中构建循环。

要在 n8n 工作流中创建循环,您需要将一个节点的输出连接到前一个节点的输入,并添加一个 If 节点 来检查何时停止循环。

分批处理数据#

如果您需要处理大量传入数据、多次执行 Code 节点 或避免 API 速率限制,最好将数据分割成批次(组)来处理这些批次。

对于这些处理过程,请使用 Loop Over Items 节点。该节点将输入数据分割成指定大小的批次,并在每次迭代时返回预定数量的数据。

Loop Over Items 节点的执行

Loop Over Items 节点 在所有传入项被分割成批次并传递给工作流中的下一个节点后停止执行,因此不需要添加 If 节点 来停止循环。

循环/批量处理练习#

构建一个工作流,用于读取 Medium 和 dev.to 的 RSS 订阅源。该工作流应包含三个节点:

  1. 一个代码节点,返回 Medium (https://medium.com/feed/n8n-io) 和 dev.to (https://dev.to/feed/n8n) 的 RSS 订阅源 URL。
  2. 一个循环处理项节点,设置 Batch Size: 1,接收来自代码节点RSS读取节点的输入并遍历各项。
  3. 一个RSS读取节点,获取 Medium RSS 订阅源的 URL,通过表达式传递:{{ $json.url }}
    • RSS读取节点例外节点之一,它只处理接收到的第一项,因此需要使用循环处理项节点来遍历多个项。

《动手学PyTorch建模与应用:从深度学习到大模型》是一本从零基础上手深度学习和大模型的PyTorch实战指南。全书共11章,前6章涵盖深度学习基础,包括张量运算、神经网络原理、数据预处理及卷积神经网络等;后5章进阶探讨图像、文本、音频建模技术,并结合Transformer架构解析大语言模型的开发实践。书中通过房价预测、图像分类等案例讲解模型构建方法,每章附有动手练习题,帮助读者巩固实战能力。内容兼顾数学原理与工程实现,适配PyTorch框架最新技术发展趋势。

Logo

为武汉地区的开发者提供学习、交流和合作的平台。社区聚集了众多技术爱好者和专业人士,涵盖了多个领域,包括人工智能、大数据、云计算、区块链等。社区定期举办技术分享、培训和活动,为开发者提供更多的学习和交流机会。

更多推荐