首页 > 解决方案 > 'COPY INTO' sql 查询的 files_pattern 使用什么正则表达式解析器?

问题描述

(代表雪花用户提交)


我有一个名为 s3://bucket/path/test=integration_test_sanity/file.parquet 的测试 s3 文件夹

我希望能够使用 COPY INTO 命令将其加载到雪花中,但我希望能够加载所有具有类似 test=*/file.parquet 结构的测试文件夹。

我试过了:

COPY INTO raw.test_sanity_test_parquet
                        FROM 's3://bucket/path/'
                        CREDENTIALS=(AWS_KEY_ID='XXX' AWS_SECRET_KEY='XXX')
                        PATTERN='test=(.*)/.*'
                        FILE_FORMAT = (TYPE = parquet)

并且

COPY INTO raw.test_sanity_test_parquet
                        FROM 's3://bucket/path/'
                        CREDENTIALS=(AWS_KEY_ID='XXX' AWS_SECRET_KEY='XXX')
                        PATTERN='test=.*/.*'
                        FILE_FORMAT = (TYPE = parquet)

这些都不起作用。我想知道 Snowflake 使用什么正则表达式解析器,以及我应该使用哪个正则表达式来让它工作。

这可行,但我不能只过滤可能导致问题的测试文件夹

COPY INTO raw.test_sanity_test_parquet
                        FROM 's3://bucket/path/'
                        CREDENTIALS=(AWS_KEY_ID='XXX' AWS_SECRET_KEY='XXX')
                        PATTERN='.*/.*'
                        FILE_FORMAT = (TYPE = parquet)

有什么建议吗?谢谢!

标签: snowflake-cloud-data-platform

解决方案


尝试这个:

COPY INTO raw.test_sanity_test_parquet
            FROM 's3://bucket/path/'
            CREDENTIALS=(AWS_KEY_ID='XXX' AWS_SECRET_KEY='XXX')
            PATTERN='.*/test.*[.]parquet'
            FILE_FORMAT = (TYPE = parquet)

推荐阅读