Merge/Load 将 S3 中多个文件夹中的相同文件导入 Snowflake
Merge/Load same files in multiple folders in S3 into Snowflake
需要有关如何将多个文件夹中可用的相同文件加载到雪花中的帮助 table。是否可以使用 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
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);
需要有关如何将多个文件夹中可用的相同文件加载到雪花中的帮助 table。是否可以使用 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
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);