azure - 有没有一种从 Azure Blob 存储到 Snowflake EDW 的简单 ETL 方法?
问题描述
我对 Azure 上的 Snowflake 有以下 ETL 要求,并且由于时间线和技术限制,我希望实施最简单的解决方案。
要求 :
每天将 Azure Blob 存储中的 CSV 数据(仅几 MB)加载到 Snowflake Warehouse 中的临时表中。在 Snowflake 本身内转换上面加载的数据,其中转换仅限于几个连接和聚合以获得一些度量。最后,将这些数据存放在同一个 Snowflake DB 内的 Datamart 中的最终表格中。最后,使用计划或使用基于事件的触发器(即文件到达 Blob 存储区时立即启动的步骤)自动执行上述管道。
约束:
我们不能使用 Azure 数据工厂来实现这个最简单的设计。我们也不能使用 Azure Functions 来部署 Python 转换脚本并安排它们。而且,我发现使用 Snowflake SQL 进行转换是一项有限的功能,它只允许将某些内容作为 COPY INTO 命令的一部分,但不支持 JOINS 和 GROUP BY。此外,虽然以下 THREAD 表明可以调度 SQL,但这并不能满足我的转换要求。
问候, 罗伊
解决方案
您可以在 Azure blob 存储上创建雪管,一旦在 azure blob 存储之上创建了雪管,它将监控存储桶,并且一旦有新文件进入,文件就会加载到您的阶段表中。将数据复制到阶段表后,您可以使用雪花任务安排转换 SQL。
您可以在以下链接中参考用于 azure blob 存储的雪管创建步骤: Microsoft Azure blob 存储上的雪管
推荐阅读
- swift - 快速实现完成块
- vxworks - VxWorks 在运行时更改控制台端口
- json - angular 2动态列数据表
- javascript - 从 ReactJS 中的同一元素获取 id
- javascript - AsyncStorage React Native 不工作
- arduino - Arduino 在使用 FastLED 时忽略串行中断
- php - 在 laravel 5.6 中创建层次关系
- javascript - 当路由匹配时,React Router 不显示组件(但渲染工作)
- c# - 升级到最新的 C# MongoDB 驱动程序的问题
- python - 拟合数据集的指数曲线