如何连接 Azure 机器学习和 Spark Streaming 或 Apache Storm

How connect Azure Machine Learning and Spark Streaming or Apache Storm

是否有可能将流从 Spark Streaming 或 Apache Storm 获取到 Azure 机器学习中?在 reader 选项中有一个从 Hive 数据库读取数据的输入

但是如何从 Spark 或 Storm 获取实时数据流,例如 实时欺诈检测

要进行实时欺诈检测,通常您将在 Azure ML 上创建一个模型,然后将该模型发布到 oWeb 服务,然后在您的 Spark 或 Storm 系统上,您将按顺序调用该 Web 服务(例如付款发生在例如商业网站),那么您将立即得到有关您在 Web 服务调用中发送的实际参数的答复。

我理解使用开源 Storm 或 Spark 来实现这一点的愿望。

但我也想提供 100% 的 Azure 解决方案,因为就我个人而言,我发现它是使用流数据快速完成许多 "easy" 事情的好方法。

首先,我们有服务总线,它可以包含事件中心。事件中心是一个管理良好的队列,可以在其中将数据事件流式传输到云中。 queue有暂停,rewind功能,所以如果你需要修改你的consumer,可以放心不丢数据。您还可以将队列的内存设置为最多 7 天(这比只存储 24 小时的数据要花费更多)。

一旦数据进入事件中心,就可以使用 Azure 流分析代替 Storm 或 Spark 从队列中弹出数据。流分析使用 SQL 来查询队列。一个附加输入和输出数据源。输入可以是事件中心、blob,甚至是参考数据集。输出可以包括另一个事件中心、azure blob、azure table、SQL 数据库,甚至是 PowerBI 中的实时可视化。流分析有一个称为 "Streaming Units" 的缩放单元,其中每个单元等于 1 MB/s 的处理带宽。您只需为您处理的数据付费,因此如果您的流很顺利,您无需付费,这与在云中使用 Storm 或 Spark 不同。流分析甚至可以处理格式完全不同的消息,但我建议至少有一个字段包含您的消息类型的 ID。将流数据存储到 blob 中的基本流分析查询可能如下所示

Select * from EventHub into Blob

在流分析中,可以将 Azure 机器学习 Web 服务包装为一个函数。这允许您实时调用 AML 并为您的流数据评分。 Stream Analytics 能够巧妙地创建 AML 调用的微批次,这意味着它可以在单个 AML 调用中对多达 200 个决策进行评分。只需确保您已扩展 AML 网络服务以跟上潮流。

我希望这被视为对问题的真实回答,但据透露,我确实在 Microsoft 从事这些产品的工作,但希望能提供比推销更多的信息。