S3 Bucket Stage 上的正则表达式 - 来自雪花

时间:2021-05-12 00:26:58

标签: amazon-s3 snowflake-cloud-data-platform

我正在尝试创建下表:

create or replace table great_table as (
SELECT
  
$1:test::STRING as testt,
$1:testt::STRING as account_name,
$1:testttt::STRING as testttt,
$1:testttttt::DATE as testttttt
from  '@A_STAGE/20210510/object_name/part'
)
;

但我想获取2021年的所有数据,而不必重新配置bucket结构。 有没有办法从舞台名称中的雪花做正则表达式?所以像

@A_STAGE/202%/object_name/part'

1 个答案:

答案 0 :(得分:0)

我相信您正在寻找的是利用 PATTERN 选项从阶段进行查询。此选项的文档位于此处,您最终要做的是从 @A_STAGE 中进行选择,然后在格式选项中使用 PATTERN 来定义要从中选择的文件(和文件夹)的正则表达式。

https://docs.snowflake.com/en/user-guide/querying-stage.html#query-syntax-and-parameters

但是,如果您要从该选择创建表,您可能应该运行 COPY INTO 语句,这也是相同的 PATTERN 选项:

https://docs.snowflake.com/en/sql-reference/sql/copy-into-table.html

或者,也许您可​​以考虑利用外部表,这取决于 S3 中底层文件的创建、替换、删除等方式。

https://docs.snowflake.com/en/sql-reference/sql/create-external-table.html