大家。
我有客户端将excel文件放在FTP文件夹中,这样我就可以将这些文件中的数据移动到Azure SQL Server。
您应该知道每个文件都有不同的结构,因此在将数据转储到数据库之前,我必须进行某种数据操作(转换)。另外,我每个月都会收到新文件。
假设我们有4个不同的excel文件,我将如何进行数据转换?我正在考虑使用部署在SQL Server上的SSIS包来读取这些包并知道(SOMEHOW)每个文件的结构并将其映射到数据库中的相应表。这是否可能,我是否需要考虑其他因素(例如,当我有N个客户端抛出N个不同的结构化Excel文件时会发生什么?)
最终,一旦ETL过程完成,我们的用户将使用Tableau来播放数据并为我们的客户提供某种分析。
我对所有建议持开放态度,例如,它不需要是Azure解决方案,它可能是AWS。但是,我选择了Azure,因为我对它更熟悉。
谢谢!
答案 0 :(得分:1)
如果您打算使用云来执行工作,那么您将希望使用最类似云的方式来完成工作。
您使用SSIS描述的解决方案意味着您实际上需要在某个虚拟机中运行SQL Server(无论是Azure还是AWS)。您真的想要管理虚拟机,安装操作系统补丁以及必须处理基础架构所带来的所有有趣的东西吗?
为什么不让云提供商为您做那些无聊的工作?
更好的解决方案是使用数据库即服务(例如Azure SQL数据库)与其他一些可以进行数据处理和导入的云服务。
下面的文章展示了如何将Azure Blob存储(删除文件的位置)与Azure功能(用于执行数据导入的处理触发器/引擎)和Azure SQL数据库结合起来,以获得没有服务器的解决方案要管理的资源(以经典的虚拟机方式)......如果您要充分利用云,这就是您想要考虑解决方案的方式:
使用Azure Functions和Azure SQL自动导入CSV数据