snowflake-cloud-data-platform - 雪花外部表分区 - 粒度路径
问题描述
专家们,
我们将 JSON 文件存储在 S3 的以下文件夹结构中,即 /appname/lob/2020/07/24/12,/appname/lob/2020/07/24/13,/appname/lob/2020/07/24 /14
stage @SFSTG = /appname/lob/
我们需要根据小时创建一个带有分区的外部表。我们可以从元数据$文件名中导出分区部分。但是这里的问题是应该将分区列创建为时间戳还是 varchar?
使用外部表从雪花访问文件时,哪种分区数据类型可以帮助我们提高性能。
解决方案
雪花的建议如下:
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);
推荐阅读
- c# - 尝试更新表时无法写入 CLR 类型 C# 错误
- sql - Bigquery if null and 0 then 条件
- elasticsearch - Elastic-APM 索引名称无效 [_license]
- javascript - 模拟时钟 - JavaScript
- amazon-web-services - Amazon QLDB 多区域架构
- python - 如何比较python中的两个数组?
- swift - 使用泛型将 PartialKeyPath 向下转换为 ReferenceWriteableKeyPath?
- python - 使用 Python 使用密码对 GPG 文件进行解密时出错
- c++ - 为什么函数参数的类型推导优先于模板中的类型?
- java - Android 适配器无法用视图填充活动