Steam 分析的非 Azure 输入/源选项

Posted

技术标签:

【中文标题】Steam 分析的非 Azure 输入/源选项【英文标题】:Non-Azure input/source options for Steam Analytics 【发布时间】:2016-03-06 02:10:49 【问题描述】:

Steam 分析是否支持 Azure 系列产品以外的输入源?

例如,我可以设置一个 REST 端点并以这种方式发送事件吗?是否有 node.js 的客户端库?

这方面的文档有点少;我想在这两个方面都假设 no 之前检查这里。

【问题讨论】:

当然可以,通过事件中心,它的主要摄取选项。流分析处理事件,它不摄取它们。事件中心提供 REST、AMQP、MQTT 端点、批处理、分区等。事件中心旨在处理数以百万计的事件和流分析来处理它们。 【参考方案1】:

我相信答案是否定的,Azure 流分析目前不支持非 Azure 源。

一种推荐的方法是写入 Azure 事件中心,然后让 Azure 流分析从那里读取。

您可以在 Node.JS 中写入事件中心: http://hypernephelist.com/2014/09/16/sending-data-to-azure-event-hubs-from-nodejs.html

【讨论】:

感谢您的反馈。这就是我所害怕的。 这是不正确的,因为对流分析是/做什么的误解。它处理外部事件。它不会摄取它们,这是事件中心的工作。摄取数百万个事件并非微不足道,这就是为什么这两个服务是分开的 @PanagiotisKanavos 同意。你称之为“摄取”,提问者称之为“来源”。无论如何 ASA 处理已在 Azure 中的事件,并且无法处理由不在 Azure 中的某些服务引入的事件。为什么投反对票? 因为这些是完全不同的概念,结论是错误的。事件中心不是源,它是接受来自源的数据并将它们传递给分析服务的终结点。如果 Azure 是一个数据库,那么事件中心就是侦听 ODBC、OLEDB 连接的 RPC 子系统,而流分析就是查询处理器。【参考方案2】:

修改我的旧答案。

正如@PanagiotisKanavos 所说,Azure 流分析 (ASA) 只是处理服务引擎,而不是摄取端点,它不需要像 EventHub 那样具有非天蓝色输入源以及如何为 ASA 提供数据给它。

EventHub 可供 ASA 使用,它拥有各种库,可在大量不同的机器、外形尺寸等上运行,并且可以在任何操作系统和许多框架上运行。最坏的情况,简单的 HTTP 也能正常工作,AMQP 不是强制性的,但在性能方面绝对是理想的。

正确的路线是PRODUCER -> EventHub -> ASAPRODUCER -> STORAGE -> ASA。因此,如果有一个库支持他们想要的设备上的存储,它也可以工作,但 EventHub 显然是更好的选择。

非常感谢@PanagiotisKanavos 的帮助。

【讨论】:

【参考方案3】:

下面的一些间接证据似乎证明 Azure 不支持非 Azure 服务作为流分析的输入。

    从流分析https://msdn.microsoft.com/en-us/library/azure/dn835010.aspx的REST APICreate Input来看,只有Event HubBlob StorgaeIoT Hub这三个数据源。

    来自 Azure 新旧门户的屏幕截图,用于添加输入。

图 1. Azure 旧门户上的输入选项(步骤 1)

图 2. 数据流选项(第 2 步)

图 3. 参考数据选项(第 2 步)

图 4. Azure 新门户上的输入选项

【讨论】:

这只能证明对流分析的误解。这是 processing 服务,而不是摄取端点。您是否会说 SQL Server 不接受来自 SQL Server 外部的连接,因为 查询处理器 只接受来自网络子系统的调用?或者你会说接受这种连接是网络子系统的角色? @PanagiotisKanavos 根据官方文档包括 REST API 的描述,我没有看到任何其他连接作为输入源。您能解释一下如何使用 SQL Server 等其他连接作为输入源吗?感谢您的分享。 还有哪些连接? ASA 是一种处理服务,而不是摄取服务。事实上,它不支持 any 输入,除了 Event Hub 和 blob,因为它没有这样做没有任何意义。 @PanagiotisKanavos 当然。谢谢。 @PeterPan-MSFT 你介意在内部联系我吗?我的别名是 pakefali。应修改上述答案以包含更多信息和限制,因为它不是现在的 100% 正确。谢谢。

以上是关于Steam 分析的非 Azure 输入/源选项的主要内容,如果未能解决你的问题,请参考以下文章

Azure 流分析错误:无法反序列化来自 IOT 中心的输入事件

具有事件中心输入流位置的 Azure 流分析

电脑steam打开就是无法连接到服务器,怎么办?

Azure 流分析唯一 EventId 属性为 NULL

Azure 流分析 - ARM 模板中的“继承分区”

Azure 流分析作业在使用静态引用数据时不生成输出