SnowPipe 跟踪已加载文件的时间

问题描述 投票:0回答:1

我创建了一个 SnowPipe 来从 S3 存储桶加载连续数据。在 S3 存储桶中,我将数据压缩在镶木地板文件中,但有时可能会再次加载该数据,并且它会用新的镶木地板文件替换旧的镶木地板文件(重新加载数据时,镶木地板文件采用相同的名称) ).

理想情况下,我想使用 SnowPipe 在我的表中重新摄取此镶木地板文件,但我一直在检查 SnowPipe 是否仅根据文件中的名称跟踪已加载的文件,并且不检查是否数据发生变化。所以我的同名新镶木地板文件将不会被重新加载。

  • SnowPipe 跟踪此加载的文件多长时间?文档说SnowPipe的复制历史记录可以保存14天,但我不确定这是否与加载的文件相同。

  • 您有解决此问题的方法吗?重要的是 parquet 文件具有相同的名称,以保持 S3 存储桶尽可能干净并且不在那里存储重复项。

amazon-s3 snowflake-cloud-data-platform
1个回答
0
投票

是的,如果管道对象在过去 14 天内加载,则不会重新加载相同的文件名。

如果确实无法更改名称的解决方法:

使用创建或替换来安排管道的重新创建,这将删除已加载文件的元数据。假设没有其他变化,则不需要更改现有的事件通知和与 S3 的集成。

或者,不要使用Snowpipe,使用copy into 和force=true来重新加载已经加载的文件。您可以通过任务来安排此操作。

© www.soinside.com 2019 - 2024. All rights reserved.