Snowflake cloud data platform 雪花数据仓库-查询暂存文件中的数据

Snowflake cloud data platform 雪花数据仓库-查询暂存文件中的数据,snowflake-cloud-data-platform,Snowflake Cloud Data Platform,在Snowflake中运行阶段数据文件的查询时,我注意到文件名的末尾实际上有一个隐式glob 换句话说, 选择计数(*) 来自@mastercatalog.CUSTOMERS.USAGE_STAGE/4089.jsonl.gz 实际上是 选择计数(*) 来自@mastercatalog.CUSTOMERS.USAGE_STAGE/4089.jsonl.gz* 例如,我在stage中有两个文件名为4089.jsonl.gz和4089.jsonl.gz.1.gz 在运行以下程序时: 选择计数(*

在Snowflake中运行阶段数据文件的查询时,我注意到文件名的末尾实际上有一个隐式glob

换句话说,

选择计数(*)
来自@mastercatalog.CUSTOMERS.USAGE_STAGE/4089.jsonl.gz
实际上是

选择计数(*)
来自@mastercatalog.CUSTOMERS.USAGE_STAGE/4089.jsonl.gz*
例如,我在stage中有两个文件名为
4089.jsonl.gz
4089.jsonl.gz.1.gz

在运行以下程序时:

选择计数(*)
来自@mastercatalog.CUSTOMERS.USAGE_STAGE/4089.jsonl.gz
我希望只得到
4089.jsonl.gz
的计数。但是,当隐式glob最终匹配两个文件时,我将两者的计数相加

文件中没有提到这一点

我试着在文件名周围加上单引号和双引号,但这没有什么区别

关于符号的任何想法都不会添加这个隐式glob


谢谢。

您可以通过筛选元数据$FILENAME元数据列来限制结果:

选择计数(*)
来自@mastercatalog.CUSTOMERS.USAGE_STAGE/4089.jsonl.gz
其中元数据$FILENAME='4089.jsonl.gz'

您是否尝试过在“开始”部分周围加上单引号?另外,我看到您没有在查询中指定文件格式。是否有一个附加到stage?METADATA$FILENAME具有完整路径,因此where子句中需要完整路径。根据阶段类型,可能需要前缀
@
@~