我是 Snowflake 的新手,如果答案显而易见,请原谅我。
我正在使用数据工厂将数据从本地加载到 Azure,然后使用 COPY INTO 将数据摄取到 Snowflake。但是,我需要启用对其他平台的一些转换数据的访问,这意味着如果我在 Snowflake 中执行转换,我将需要在 Azure 中创建一个外部表(实质上是将这些数据推回 Azure,以便其他平台可以访问它)。
由于我们不是特别想引入新工具,因此对于我们相当基本的转换,我有两个选择:
- 在 ADF 中进行转换
- 使用 SQL 脚本在 Snowflake 中进行转换,然后创建一个外部表,以便其他团队可以使用其他工具访问数据(这些平台未与 Snowflake 集成)
除了增加存储成本外,选项 2 是否有任何主要缺点?
我正在尝试权衡以下因素:维护工作(我们团队的技能在于 SQL 而不是 ADF)、成本和性能。
如有任何建议,我们将不胜感激。
最佳答案
如问题中所述,这种情况有很多可能的答案 - 我最喜欢的是第二个(“在 SQL 脚本中对 Snowflake 进行转换,然后创建一个外部表,以便其他团队可以访问使用其他工具的数据").
如果您需要在 Azure 存储上提供这些转换的结果,Azure 数据工厂原生支持:
- 使用 Snowflake 的 COPY 从 Snowflake 复制数据到 [location] 命令以获得最佳性能。 https://learn.microsoft.com/en-us/azure/data-factory/connector-snowflake#supported-capabilities
或者您可以使用 ADF 使用的相同 COPY INTO
在 Snowflake 中管理它。
让我添加一些来自 Snowflake 网络研讨会“数据仓库还是数据湖?如何在一个平台上同时拥有两者”的截图:
关于sql - Snowflake 或 Azure 数据工厂中的转换?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65585594/