Snowflake S3 Stage/External table 和 S3 版本控制重复

Snowflake S3 Stage/External table and S3 versioning duplicates

我想使用AWS S3作为外部存储,使用Snowflake外部表查询数据。 为了不 lose/overwrite 任何数据,我在 S3 存储桶上启用了 versioning。当存在多个版本的文件时,它们将在 Snowflake 中显示为重复项,我可以找到一个选项将它们从外部 stages/external 表中隐藏。

LIST @my_stage; -- shows duplicate files

SELECT , ,  FROM @my_stage; -- returns duplicate records

CREATE OR REPLACE EXTERNAL TABLE my_external_table (
    Name STRING AS (value:c1::STRING),
)
with location = @my_stage;
SELECT * FROM my_external_table; -- shows duplicate records

SELECT DISTINCT row1, row2, row3 from my_external_table; -- manually hide duplicates

有什么方法可以只从最新版本的文件中获取 select 行,而无需使用 DISTINCT? 提前致谢

我发现 S3 上确实存在重复文件,它们的名称完全相同,只是文件名末尾附加了一个空格。我无法在 AWS 控制台或 AWS S3 CLI 中轻松看到这一点,但此命令显示文件名周围带有 "

aws s3api list-objects --bucket my_bucket