Слияние / загрузка одинаковых файлов в нескольких папках в 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);