0

考虑如下数据处理管道:

  1. 从托管在 Internet 上某处的 REST API 获取大量数据并将其保存到数据存储中。
  2. 对持久化数据执行一些复杂的数据转换。
  3. 将数据转换的结果保存在数据存储上。

为了在 Azure 中实施这样的管道,步骤 2 和 3 似乎非常适合作为Azure 数据工厂活动实施。

我的问题是 - 在 Azure 数据工厂活动中实施步骤 1 是否也有意义?

从技术上讲,可能可以编写一个 .Net 活动来执行数据下载和持久性。

4

3 回答 3

1

否 - 不要在 Azure 数据工厂活动中实施步骤 1。

从技术上讲,可以从 ADF 运行整个过程,但我认为该选择比您可用的其他选项更昂贵(相对),因为您将为Azure 数据工厂中的每项活动付费

例如,如果当您启动(计划的)活动时,其余 api 没有任何新数据要提供怎么办?你会为此付出代价的。

您可能会认为以下是一种易于实施的替代方案: 1 - 创建一个 .NET 控制台应用程序,作为 WebJob 发布,安排每天运行。2 - 长时间运行的控制台应用程序可以查询其余 api,将数据持久化到 azure storage/documentdb,将消息推送到队列中,从而触发 ADF 步骤 2/3 以针对保存的数据运行。

于 2016-03-07T16:29:18.027 回答
1

我已经使用 .Net Activity 做到了这一点。我需要从 Salesforce api 获取数据。这一直很好地满足我的需求。 是我写的一篇关于创建 .net 活动并将数据存储在 azure 数据湖中的帖子。

正如 Newport99 的回答是,您将为此活动产生成本,但我不确定运行单独的 Web 应用程序来托管 Web 作业并运行 Azure 数据工厂管道的成本效益如何。当我最初设计一个解决方案时,WebJob 是我的第一选择,但最终我更喜欢让整个解决方案使用一个 azure 服务而不是多个。

希望有帮助。

于 2016-03-08T19:54:27.200 回答
1

自从发布此问题以来,ADF 已有很多改进,包括 REST 连接器。这是 ADF 目前推荐的方法...

使用 Azure 数据工厂从 REST 终结点复制数据

于 2020-06-03T14:05:18.170 回答