【问题标题】:Snowflake: how to load files through stage from MS Azure using specific pattern?Snowflake:如何使用特定模式从 MS Azure 加载文件?
【发布时间】:2021-04-13 19:10:55
【问题描述】:

我需要每周将文件从 MS Azure 加载到 Snowflake 表,我想知道是否可以找到更有效的方法

例如,如果我想加载此目录中的文件:

my_folder/food/20200101.csv 
... 
my_folder/food/20201201.csv

舞台名称是 my_stage

如果我想加载 6 月份的文件,查询将是:

select * from @my_stage (pattern => 'my_folder/food/202006.*.csv')

我的问题是,如果我想在 11/28/2020 和 12/05/2020 之间加载文件怎么办?

我目前使用的方法是这样分隔模式:

pattern => 'my_folder/food/2020112[8-9].*.csv|my_folder/food/2020113[0-1].*.csv|my_folder/food/2020120[1-5].*.csv

有没有办法让它变得更简单?喜欢在模式中使用 >= 和

谢谢,如果我的问题不清楚,请告诉我。 :)

【问题讨论】:

    标签: python sql snowflake-cloud-data-platform snowflake-schema


    【解决方案1】:

    在 PATTERN 子句中,您可以使用正则表达式。我认为对日期范围使用正则表达式可能会变得相当复杂,而您的解决方案是最简单的。也许循环文件也可能对您有所帮助。

    关于 PATTERN 子句的更多信息:https://docs.snowflake.com/en/sql-reference/sql/copy-into-table.html#optional-parameters

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-12-04
      • 2020-09-17
      • 1970-01-01
      • 1970-01-01
      • 2015-03-16
      • 1970-01-01
      相关资源
      最近更新 更多