【问题标题】:ETL/ Data Warehousing Approach using APIs使用 API 的 ETL/数据仓库方法
【发布时间】:2017-03-25 06:47:45
【问题描述】:

我有大约 20 个不同的数据源,所有具有 API 的小型应用程序(一些肥皂和一些休息)。我需要组合所有这些数据,对其进行转换并将数据存储到数据仓库中。我正在考虑使用 Azure SQL 数据库。但是,我不确定我可以使用什么工具来实际获取 API 和数据。每个数据源在一天内可以建立的连接方面都有限制,并且这些 API 中的大多数都需要运行多个 API 来获取数据。

我查看了 Azure 数据工厂----它不支持 SOAP API 我查看了 Logic Apps ----我不确定它是否可以执行复杂的 ETL 并可以检索数据

我想到的另一个选择是安装带有 SQL Server 的 Azure VM,然后使用 Talend 通过 REST 和 SOAP 连接器获取数据并执行 ETL。我可以采取的另一种方法是使用 SSIS 代替 Talend。但我确实相信我也需要第三方 Rest 和 Soap 连接器。

我正在寻找最具成本效益和可扩展的解决方案。

任何建议都会非常有帮助。

【问题讨论】:

    标签: ssis etl talend azure-data-factory azure-logic-apps


    【解决方案1】:

    Azure 数据工厂(当前)与其说是一个成熟的 ETL 工具,不如说是一个转换活动的编排器,它可以运行可以与 Web 服务 API 一起使用的自定义活动(例如,在 C# 中)。它一直在移动。 见这里:

    https://docs.microsoft.com/en-us/azure/data-factory/data-factory-use-custom-activities

    Using Azure Data Factory to get data from a REST API

    但是,鉴于您的转换规模,您是对的,您可能希望考虑替代方案。在我发言的时候,我认为没有多少人已经解决了如何在云中复制适当复杂的本地 ETL 体验的问题——但这会迅速改变。

    您提到的另一个选项可以工作(安装了 ETL 软件的 IaaS Azure VM)。 对于 Talend,您不需要安装 SQL Server,除非您想将数据存储在那里而不是 Azure SQL 数据库中。它预装了许多连接器,如果您有 Talend 技能,它是一个不错的选择。

    另外,SSIS 也可以工作:其预加载的 Web 服务任务涵盖了您的 SOAP API https://www.mssqltips.com/sqlservertip/3272/example-using-web-services-with-sql-server-integration-services/ 您可以使用 REST 的第 3 方任务/连接器,或使用脚本任务/转换,即您自己的自定义 C# 代码。

    【讨论】:

    • API Management 怎么样,这可能是另一种方法吗?
    • 看起来这更多是为了发布您希望人们使用的 API,而不是大量使用它们。不过可能值得探索。
    • 谢谢@Rich。我检查了 Azure 的 Pass 服务,它似乎支持 BizTalk 和 Logic 应用程序,但它们似乎都不能正常工作。相反,我正在考虑使用 SQL Server 在云 VM 上。在那里安装 Talend 以运行作业(我有 soap 和 Rest API),然后将该数据发送到 Staging,然后将其转换为 SQL Server 上的数据仓库数据。这样我就不会完全从头开始编码,而是可以使用 Talend to Scale。这听起来像是一个可行的计划吗?我不相信为每个工作编写一个 .net 控制台应用程序是正确的方法。
    • 当然。如果 ETL 工具似乎更适合您,那可能会很好。或 SSIS。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-08
    • 2022-08-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多