雪花外部表分区-粒度路径

时间:2020-07-24 16:41:18

标签: snowflake-cloud-data-platform external-tables

专家

我们将JSON文件存储在S3的以下文件夹结构中,如下所示: / appname / lob / 2020/07/24/12,/ appname / lob / 2020/07/24/13,/ appname / lob / 2020/07/24/14

stage @SFSTG = /appname/lob/

我们需要根据小时数创建一个带有分区的外部表。我们可以从metadata $ filename导出分区部分。但是,这里的问题是应该将分区列创建为时间戳还是varchar?

使用外部表从雪花访问文件时,哪种分区数据类型可以帮助我们提高性能。

1 个答案:

答案 0 :(得分:0)

雪花的建议如下:

date_part date as to_date(substr(metadata$filename, 14, 10), 'YYYY/MM/DD'),

*仔细检查14是您阶段URL中分区的正确开始,我可能在这里不正确。

完整示例:

CREATE OR REPLACE EXTERNAL TABLE Database.Schema.ExternalTableName(
  date_part date as to_date(substr(metadata$filename, 14, 10), 'YYYY/MM/DD'),
  col1 varchar AS (value:col1::varchar)),
  col2 varchar AS (value:col2::varchar))
  PARTITION BY (date_part)
  INTEGRATION = 'YourIntegration'
  LOCATION=@SFSTG/appname/lob/
  AUTO_REFRESH = true
  FILE_FORMAT = (TYPE = JSON);