繁体   English   中英

Azure 数据工厂(ADF)与 Azure Functions:如何选择?

[英]Azure Data Factory(ADF) vs Azure Functions: How to choose?

目前我们正在使用 Blob 触发器 Azure Functions 将 json 数据移动到 Cosmos DB。 我们计划用 Azure 数据工厂 (ADF) 管道替换 Azure Functions。 我是 Azure 数据工厂(ADF)的新手,所以不确定,Azure 数据工厂(ADF)管道是否是更好的选择?

虽然我的回答有点晚了,但我想补充一点,我不建议用 ADF 替换您当前的设置。 原因:

  1. 它太贵了。 ADF 的成本远高于 azure 函数。
  2. 自定义逻辑:ADF 不是为执行清理逻辑或任何自定义代码而构建的。 它的主要目标是使用其庞大的连接器池从外部系统集成数据
  3. 延迟:ADF 由于其作业框架的大量开销而具有更高的延迟

根据您的要求,Azure 数据工厂是您的完美选择。 你可以按照本tutorial配置 Cosmos DB 输出和 Azure Blob 存储输入。

与 azure 函数相比的优势在于您不需要编写任何自定义代码,除非涉及数据清理,并且 azure 数据工厂是推荐选项,即使您希望将 azure 函数用于其他目的,您也可以将其添加到管道中。

Azure 数据工厂的基本用途是数据摄取。 Azure Functions 是无服务器的(函数即服务),它的最佳用途是用于短期实例。 执行多秒的 Azure 函数的成本要高得多。 Azure Functions 适用于事件驱动的微服务。 对于数据摄取,Azure 数据工厂是一个更好的选择,因为它的海量数据运行成本将低于 azure 函数。 您还可以在 ADF 中集成 Spark 处理管道,以获得更高级的数据摄取管道。

而且,这取决于您的情况。 Azure 函数是较少服务器的轻量级进程,用于响应事件的快速访问,而不是用于批处理的容量响应。 因此,如果您的要求是快速响应信息很少的事件,请使用 Azure 函数,或者您需要将批处理切换到 ADF。

成本

我从这里得到图像。

在此处输入图片说明

让我们计算一下成本:

if your file is large:
43:51hour=43.867(h)
4(DIU)*43.867(h)*0.25($/DIU-H)=43.867$
43.867/7.514GB= 5.838 ($/GB)

if your file is small(2.497MB), take about 45 seconds:
4(DIU)*1/60(h)*0.25($/DIU-H)=0.0167$
2.497MB/1024MB=0.00244013671 GB
0.0167/0.00244013671= 6.844 ($/GB)

规模

Azure 函数可以运行的最大实例数为 200。

ADF 可以运行 3,000 个并发外部活动。 在我的测试中,只有 1500 个复制活动并行运行。 (这个测试浪费了很多钱。)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM