sql - SSIS ETL 流程设计建议

标签 sql sql-server azure ssis etl

我是 SSIS 的新手,希望获得一些设计 ETL 流程的建议。

我提供了整个项目的图表。简而言之,我从各个 Blob 中获取 Excel 文件,将它们转换为适合通用模板格式,然后将它们加载到 SQL Server 数据库中。我只是寻求有关(ETL 过程的)控制流应该是什么样子的帮助。在我过去的尝试中,我有一个将文件下载到本地驱动器的过程,但这并不理想。

理想情况下,我不想将文件下载到本地驱动器上,而是通过 Azure 完成整个过程。任何帮助,将不胜感激。谢谢!

项目范围:

Project Scope Photo

最佳答案

这个问题的答案取决于接口(interface) - 您使用什么接口(interface)来获取这些文件并使用 SQL Server 处理它们?

这是一个重要的问题,因为如果您使用 Web 服务或网络文件共享之类的东西来访问这些项目,那么首先在 SQL Server 中获取文件可能更有意义(例如使用 C# CLR)然后处理/解析/无论您需要做什么,然后将它们插入到 SQL 目标上适当的 blob 字段中。这是数据接口(interface)吗?两个端点都使用 Microsoft SQL OLE DB 驱动程序吗?

要传输文件,您需要在 SSIS 包中设置源和目标;需要为每个端点配置源和目标,要进行设置,只需右键单击“连接管理器” Pane 并添加两个数据端点。

然后您需要设置一个数据流任务。在流程任务中,您将添加一个引用您在连接管理器中设置的连接之一的源。对于每个供应商 blob,您可能需要设置一个单独的数据流任务,具体取决于数据是否全面一致,以及每个供应商是否使用相同的数据库连接器(换句话说,这是否是相同的接口(interface))每个供应商或不是)

将数据从源映射到目的地 - 在这里,我认为您将从源绘制一条线(例如,您可以使用变量并使用 OLE DB 自定义查询来处理数据来使其动态化)

您将把从来源地到目的地的点连接起来,并保留您想要的元素。请注意,您必须遵循目标表规则 - 例如,您可能需要保留外键,也可能不需要,因此您需要确保移动的数据适合目标数据模型。 SSDT 在帮助您映射事物方面非常有效,请尝试上述项目,如果有问题请告诉我!

关于sql - SSIS ETL 流程设计建议,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47851716/

相关文章:

javascript - 将 JSON 保存到 SQL

mysql - 在 SQL 中将所有内容分组到一个元组中

url - Azure 域 url 不显示我的页面路由

sql - 从 AS400 提取数据时如何显示列标题和数据

sql-server - 计算 SQL Server 中表的哈希值或校验和

azure - 如何在 ARM 模板中创建 Key Vault 托管存储帐户?

wordpress - 在 Windows Azure 上扩展 Wordpress :

c# - 高级级联删除

sql - 测试使用并返回 refcursor 的 PostgreSQL 函数

mysql - 将结果从单行循环到 JOIN 表以进行多个定义匹配