Как написать шаблон (regex_pattern), чтобы выбрать данные за 5 дней из префикса S3 в шаблоне копирования снежинки - PullRequest
0 голосов
/ 01 мая 2020

Требование:

Файл секционированного паркета хранится в S3 с префиксом ниже, и вариант использования - загрузка данных за 5 дней (2012-01-01 - 2012-01-05) в таблицу вариантов снежинки. Так что подумал использовать Pattern для достижения sh этого, любого предложения, как написать регулярное выражение?

copy into amazon-reviews-pds
from @amazon-reviews-pds
pattern = <>

s3://amazon-reviews-pds/parquet/date_dt=2012-01-**01** 00.snapppy.parquet
s3://amazon-reviews-pds/parquet/date_dt=2012-01-**01** 01.snapppy.parquet

s3://amazon-reviews-pds/parquet/date_dt=2012-01-**02** 00.snapppy.parquet
s3://amazon-reviews-pds/parquet/date_dt=2012-01-**03** 00.snapppy.parquet
s3://amazon-reviews-pds/parquet/date_dt=2012-01-**04** 00.snapppy.parquet
s3://amazon-reviews-pds/parquet/date_dt=2012-01-**05** 00.snapppy.parquet
s3://amazon-reviews-pds/parquet/date_dt=2012-01-**06** 00.snapppy.parquet
      .
      .
      .
s3://amazon-reviews-pds/parquet/date_dt=2012-01-**10** 00.snapppy.parquet
      .
      .
s3://amazon-reviews-pds/parquet/date_dt=2012-01-**31** 00.snapppy.parquet```



1 Ответ

0 голосов
/ 01 мая 2020

Вы можете использовать https://regexr.com/ для проверки ваших регулярных выражений.

Этот шаблон должен работать:

copy into amazonreviewspds
from @amazonreviewspds 
pattern='.*parquet/date_dt=2012-01-0[15].*';

Вы можете проверить его с помощью команды LS:

ls @amazonreviewspds pattern='.*parquet/date_dt=2012-01-0[15].*';

Если вы хотите загружать первые пять дней для каждого месяца, вы можете изменить выражение, например:

ls @amazonreviewspds pattern='.*parquet/date_dt=2012-\\d{2}-0[15].*';
...