Слияние / загрузка одинаковых файлов в нескольких папках в S3 в Snowflake

Нужна помощь в том, как добиться загрузки одного и того же файла, доступного в нескольких папках, в таблицу снежинок. Можно ли добиться с помощьюSnowflake Copy Command?

Скажем, в корзине у меня есть.. Все файлы a.csv, которые находятся только под текущим примером даты здесь 2020/06/09, будут помещены в a_table

2020 - год, за которым следует месяц 06, за которым следует дата, равная 09

bucket_a
   ts
     ts_folder
         2020
           06
             08
                a.csv
                b.csv
                c.csv
                d.csv
             09
                a.csv
                b.csv
                c.csv
                d.csv

     ts_folder2
         2020
           06
             08
                a.csv
                b.csv
                c.csv
                d.csv
             09
                a.csv
                b.csv
                c.csv
                d.csv

2 ответа

Решение

Оператор Snowflake COPY INTO будет рекурсивно сканировать подкаталоги на этапе, поэтому все, что вам нужно сделать, это добавить параметр шаблона в оператор COPY INTO, примерно так:

pattern = 'a\_date\.csv'

Достигнуто с использованием кода ниже

SET curr_dt=(
  SELECT 
    '.*/' || 
    TO_VARCHAR(CURRENT_DATE(), 'YYYY/MM/DD') || 
    '/a\\.csv'
)

-- Referenced as a SQL variable in the PATTERN option
COPY INTO a_table
FROM @stage/ts/
(PATTERN=>$curr_dt);