我有一个阶段路径,如下
copy into table1 as (
select $1:InvestorID::varchar as Investor_ID from @company_stage/pbook/2022-03-10/Invor/part-00000-33cbc68b-69c1-40c0-943c-f586dfab3f49-c000.snappy.parquet
)
这是我的S3位置company_stage/pbook/2022-03-10/Invor
,
我需要使这个动态:
I( 我需要改变这个";2022-03-10";文件夹到当前日期
II( 它必须自动获取文件夹中的所有镶木地板文件,而不需要我提及文件名。如何做到这一点?
这里有一种方法。你的舞台不应该把日期作为舞台名称的一部分,因为如果有,你每天都需要一个新的舞台。最好将阶段定义为company_stage/pbook/
。
为了使其具有动态性,我建议将pattern
选项与COPY INTO命令一起使用。您可以使用current_date((创建一个带有regex模式表达式的变量,如下所示:
set mypattern = '.*'||to_char(current_date(), 'YYYY-MM-DD')||'.*';
然后在COPY INTO命令中使用此变量,如下所示:
copy into table1 as (
select $1:InvestorID::varchar as Investor_ID from @company_stage/pbook/ pattern = $mypattern
)
当然,你可以根据自己的喜好调整你的图案搭配。