注意:以下翻译的准确性尚未经过验证。这是使用 AIP ↗ 从原始英文文本进行的机器翻译。
在使用探索创建基于文件的同步后,您可以在同步页面的配置选项卡中更新配置。
基于文件的同步的配置选项包括以下内容:
参数 | 必需的? | 默认值 | 描述 |
---|---|---|---|
Subfolder | 是 | 指定将在连接器中同步到Foundry的文件位置。 | |
Filters | 否 | 应用筛选以限制同步到Foundry的文件。 | |
Transformers | 否 | 应用变换到数据,然后同步到Foundry。 | |
Completion strategies | 否 | 启用以删除文件和/或在成功同步后清空父目录。需要对源文件系统的写权限。 |
同步将包含指定子文件夹中的所有嵌套文件和文件夹。
筛选允许您在将源文件导入Foundry之前对其进行筛选。支持的筛选类型包括:
变换允许您在上传到Foundry之前执行基本的文件变换(例如压缩或解密)。在同步过程中,所选取的文件将按照所选的变换进行修改。
建议在Foundry中使用Pipeline Builder和代码库进行数据变换,以从溯源和分支中受益,而不是使用Data Connection变换器。
Data Connection支持以下变换器:
^(.*/)
替换为/
来删除文件名中的目录路径。完成策略提供了一种在成功批量同步这些文件到Foundry数据集后删除文件和空父目录的方法。当数据通过写入中间S3存储桶或Foundry读取的其他文件存储系统进行同步时,这可能是有用的。如果Foundry读取的数据已是短期副本,则通常在数据被读取并成功写入Foundry后删除是安全的。
完成策略受到几个重要限制和注意事项的影响。以下描述了这些限制及可能的缓解措施或替代方案。
完成策略仅在使用代理工作运行时时支持。当使用直接连接或代理代理运行时时,我们建议将完成策略提供的功能实现为下游外部变换。
例如,假设您有一个直接连接到包含文件foo.txt
和bar.txt
的S3存储桶。您希望使用文件批量同步将它们复制到数据集,然后从S3中删除这些文件。实现这一目标的推荐方法不使用完成策略,而是执行以下操作:
请注意,如果任何删除调用失败,此方法是可重试的,并且保证在尝试执行任何删除之前数据已成功提交到Foundry。此方法还与增量文件批量同步兼容。
完成策略是尽力而为的,这意味着它们不保证数据会被有效删除。以下是可能导致完成策略失败的一些情况:
总的来说,我们建议尽可能使用替代方案来代替完成策略。自定义完成策略不再受支持。
该指南推荐给正在设置新同步或排除故障的用户。如果您的同步已经可靠运行,则无需采取任何措施。
将大量文件同步到单个数据集可能会因多种原因而具有挑战性。
考虑一个意图上传一百万个文件的同步。在遍历源系统并上传所有文件但一个文件后,网络问题导致整个同步失败。因为同步是事务性的;如果同步失败,则整个事务也会失败,那么到那时为止所做的所有工作将会丢失。
网络问题是导致同步失败的几个常见原因之一,导致数小时的工作丢失并对源系统和代理造成不必要的负担。即使没有网络问题或出错,同步大量文件也可能需要很长时间。
如果数据集随着时间增长,则同步数据作为SNAPSHOT
的时间会增加。这是因为SNAPSHOT
事务将数据集中的所有数据同步到Foundry。相反,使用配置为事务类型APPEND
的同步以增量导入您的数据。由于您将同步较小的、离散的数据块,您将创建一个有效的检查点;同步失败将导致最少量的重复工作,而不是需要完全重新运行。此外,由于您不再需要为每次同步上传所有数据,因此您的数据集同步将更快。
APPEND
同步APPEND
事务需要额外配置才能成功运行。
默认情况下,同步到Foundry的文件没有经过筛选。然而,APPEND
同步需要筛选以防止同一文件被导入。我们建议使用排除已同步文件
和限制文件数量
筛选来控制在单次同步中导入到Foundry的文件数量。此外,添加一个完成策略以在同步成功完成后删除文件。最后,安排您的同步以保持与源系统的同步。