将 C# 风暴拓扑部署到本地/本地风暴群集



我需要对从物联网传感器获取的数据进行一些数据分析(CEP、异常值检测等)

我在互联网上搜索了一下,根据我们的限制找到了我可以使用的工具:

  • 我团队中的所有开发人员都是 C# 开发人员
  • 解决方案必须部署在本地

根据我在Apache Storm上阅读的内容,我发现Apache Storm是一个很好的解决方案,我们可以通过安装Azure数据湖工具从Visual Studio开发c#中的喷口和螺栓。

我安装了所有内容并开始开发一个简单的拓扑。问题是拓扑似乎只能部署到 Azure HD Insights

我的问题:是否可以将 C# 拓扑部署到不在 Azure 中的风暴群集?我想提交以将我的拓扑提交到 Storm 码头工人映像。

这绝对是可能的。我无法找到 Azure 数据湖工具的源代码(也许它不是开源的?),但有关如何在其他语言中实现 Storm 拓扑的参考资料在这里 http://storm.apache.org/releases/2.0.0-SNAPSHOT/Multilang-protocol.html。

这里有一个如何实现多语言拓扑的示例,https://github.com/apache/storm/blob/master/examples/storm-starter/src/jvm/org/apache/storm/starter/WordCountTopology.java,它在Python中实现了它的一个螺栓。你可能会注意到,该类的顶部有一个 ShellBolt,它调用一个 python 文件。python文件包含bolt实现 https://github.com/apache/storm/blob/master/examples/storm-starter/multilang/resources/splitsentence.py,它在这里使用Storm multilang实现的Python https://github.com/apache/storm/blob/master/storm-multilang/python/src/main/resources/resources/storm.py。

可悲的是,Storm只附带了Python,Javascript和Ruby的包装器,但你可以编写自己的包装器(如果结果很好,并将其贡献回项目中)?

如果您不想实现自己的包装器,https://github.com/ziyunhx/storm-net-adapter 出现了一个快速的谷歌,我没有尝试过,但可能值得一试?

你也可以戳Microsoft,让他们开源数据湖工具,或者至少为在非 Azure 群集上运行提供支持。他们的工具很可能包含 Storm 的多语言包装器。

最新更新