首页 > 解决方案 > 对存储在 snowdfl 中的数据的分区级别访问

问题描述

我是雪花的新手,正在 AWS 上探索雪花。当数据存储在雪花中时,我了解到我们可以在分区中创建和管理数据,类似于我们在 hive 中所做的。Hive 不允许我进行分区级别的用户访问管理。我可以用雪花做到这一点吗?如果是,我们如何做以及如何在 AWS 的存储层上对其进行管理?

标签: snowflake-cloud-data-platform

解决方案


使用 Snowflake,您无法直接访问底层存储,只能使用 Snowflake 提供的访问机制。Snowflake 完全透明地管理底层存储上数据的所有配置、管理和布局。所以你不能“在分区中创建和管理数据,就像我们在 hive 中所做的那样”

如果您想了解有关此存储如何工作的更多信息,可以在此处阅读有关微分区的信息

在绝大多数情况下,无需干预 Snowflake 对数据的布局方式,但有可用于强制数据如何聚集的功能 - 尽管 Snowflake 建议这仅在多 TB 表上才有用。您可以在此处阅读有关集群表的信息

Snowflake 确实具有“外部表”的概念——这些表在 Snowflake DB 中作为普通表出现,但它们的数据实际上保存在您拥有和管理的 S3(或 Azure Blob 或 GCP 存储)中,而不是 Snowflake。这些表可以方便地创建/使用,但性能比直接保存在 Snowflake 中的表差得多:当数据加载到 Snowflake 时,它​​可能最终仍存储在 S3 上,但它被压缩、转换为列格式并保存在微分区中- 与您在 S3 存储桶中看到的文件的结构非常不同


推荐阅读