Какой синтаксический анализатор регулярных выражений используется для files_pattern для SQL-запроса «COPY INTO»? - PullRequest
0 голосов
/ 14 октября 2019

(отправлено от имени пользователя Snowflake)


У меня есть тестовая папка s3 с именем s3: //bucket/path/test=integration_test_sanity/file.parquet

Iхочу иметь возможность загрузить это в снежинку с помощью команды 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)

Есть какие-нибудь рекомендации? Спасибо!

1 Ответ

0 голосов
/ 15 октября 2019

Попробуйте это COPY INTO raw.test_sanity_test_parquet FROM 's3: // bucket / path /' CREDENTIALS = (AWS_KEY_ID = 'XXX' AWS_SECRET_KEY = 'XXX') PATTERN = '. / test. [. ] паркет 'FILE_FORMAT = (ТИП = паркет)

...