详细内容或原文请订阅后点击阅览
“梁与数据流”对话
我最近进行了一些有关是单独使用Apache Beam还是使用Google DataFlow运行的几次对话。从表面上看,这是一个工具决定。但这也反映了有关团队如何构建系统的更广泛的对话。 Beam提供了一个一致的编程模型,用于统一批处理和流逻辑。它不是[…]
来源:O'Reilly Media _AI & ML我最近进行了一些有关是单独使用Apache Beam还是使用Google DataFlow运行的几次对话。从表面上看,这是一个工具决定。但这也反映了有关团队如何构建系统的更广泛的对话。
Beam提供了一个一致的编程模型,用于统一批处理和流逻辑。它不能决定该逻辑在哪里运行。您可以在Flink或Spark上部署管道,也可以使用诸如DataFlow的托管跑步者。每个选项都将相同的光束代码配备具有截然不同的执行语义。
这种选择增加的紧迫性是对数据系统的越来越多支持机器学习和AI工作负载的压力。它不再足够转换,验证和负载。团队还需要提供实时推理,比例功能处理,并在管道开发的一部分中编排重新培训工作流程。横梁和数据流都越来越多地定位为基础架构,不仅支持分析,而且支持主动AI。
对数据系统的压力增加了支持机器学习和AI工作负载选择一条路径而不是另一个路径,这意味着决定灵活性,集成表面,运行时所有权和操作量表。事后,这些都不是容易调整的旋钮。
这里的目标是解开权衡取舍,并帮助团队故意打电话,以了解他们想要什么样的基础设施。
Apache Beam:管道的通用语言
Apache Beam提供了一个共享模型,用于表达数据处理工作流程。这包括大多数数据团队已经熟悉的批处理和流媒体任务的种类,但现在还包括一组针对AI和ML的模式集。
开发人员使用单个SDK编写光束管道,该SDK定义管道的作用,而不是基础引擎如何运行它。该逻辑可以包括解析日志,转换记录,跨时间窗口加入事件以及使用内置推理变换应用训练有素的模型来传入数据。
RunInference API mltransform 引入摩擦