背景
- 5-10个数据源
- 各种格式(CSV,PSV,XML)
- 不同的更新时间表(每周,每月,每季度)
要求
- 只对每个数据源的字段的某些字段感兴趣
- 想要从各种来源构建模型到一个数据库(SQL Server)
当前平台/技能集
- azure
- SQL Server
注意事项
- 最小代码。希望我可以通过UI/Drag-Drop界面完成所有操作。
- 自动化。希望我可以在需要更新时将文件放到服务器上,然后"事物"开始(azure functions blob/ftp触发?)
问题
我在ETL领域没有做太多事情,但是我的最初想法指出了SQL Server Integration Services之类的东西,主要是因为这是我在ETL方面唯一能拥有的经验。
现在我们有了Azure Data Factory,SQL Data Warehouse等,这是一个更好的解决方案吗?显然,答案是"取决于",那么我需要做什么问题才能澄清一下?有人可以请我指出一篇很好的文章以开始在这个领域吗?
tia
主要问题是您要在哪里分期数据。
许多人在谈论 Azure Data Lake 作为登台区。这个解决方案有利弊。
专业人士是Azure Active Directory Service可以将您的前提森林融入您的前提。完成此操作后,可以使用常规访问控制列表来限制访问。
弊端是您使用的是高级存储(SSD),这可能会为中小型公司付费A-lot。
另一方面, Azure Blob Storage 已经存在了很长时间。专业人士之一是此存储的成本。共享访问签名(SAS)可用于让任何人访问该帐户。
缺点是SAS是整个王国的关键。与ADL不同,您无法在文件上分配私密。
如果您喜欢SQL Server Openrowset或Bulk Insert,则可以享用。今年早些时候增加了对这些功能的支持。
查看有关详细信息MS SQL提示的文章。
对于调度,您可以在Azure Automation中使用非常简单的Power Shell脚本来创建动手处理过程。
Azure数据工厂可能能够执行其中一些任务;但是,您添加A-LOT比简单的T-SQL语句更复杂,以将数据加载到表中。
最后但并非最不重要的一点是,学会爱Powershell。您几乎可以使用该语言和正确的.NET组件进行任何类型的文件处理。
快乐的编码。
John Miner
狡猾的DBA