是否有可能从 Spark Streaming 或 Apache Storm 获取流到 Azure 机器学习?在阅读器选项中,有一个从 Hive 数据库读取数据的输入
但是如何从 Spark 或 Storm 获得实时数据流,例如实时欺诈检测
我理解使用 Open Source Storm 或 Spark 做到这一点的愿望。
但我也想提供 100% Azure 解决方案,因为就我个人而言,我发现它是一种使用流数据快速完成许多“简单”事情的好方法。
首先,我们有可以包含事件中心的服务总线。事件中心是一个管理良好的队列,可以将数据事件流式传输到云中。队列有暂停和倒带功能,所以如果你需要修改你的消费者,你可以放心不丢失数据。您还可以将队列的内存设置为最长 7 天(这比仅存储 24 小时的数据要贵一点)。
一旦数据进入事件中心,就可以使用 Azure 流分析代替 Storm 或 Spark 从队列中弹出数据。流分析使用 SQL 来查询队列。一个附加输入和输出数据源。输入可以是事件中心、blob,甚至是参考数据集。输出可以包括另一个事件中心、azure blob、azure table、SQL 数据库,甚至是 PowerBI 中的实时可视化。流分析有一个称为“流单元”的缩放单元,其中每个单元等于 1 MB/s 的处理带宽。您只需为您处理的数据付费,因此如果您的数据流运行顺利,您无需付费,这与在云中使用 Storm 或 Spark 不同。流分析甚至可以处理完全不同格式的消息,但我建议至少有一个字段具有您的消息类型的 ID。
Select * from EventHub into Blob
在流分析中,可以将 Azure 机器学习 Web 服务包装为一个函数。这使您可以调用 AML 并对流数据进行实时评分。流分析能够智能地创建微批次的 AML 调用,这意味着它可以在单个 AML 调用中对多达 200 个决策进行评分。只需确保您已扩展您的 AML Web 服务以跟上流。
我希望这被视为对这个问题的渴望的真正答案,但在披露中,我确实为 Microsoft 从事这些产品的工作,但希望使这个信息比销售宣传更具信息性。
要进行实时欺诈检测,您通常会在 Azure ML 上创建一个模型,然后将该模型发布到 oWeb 服务,然后在 Spark 或 Storm 系统上,您将依次调用该 Web 服务(例如在商业网站上发生的付款) ,然后您将立即获得有关您在 Web 服务调用中发送的实际参数的答案。