0

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

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

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

根据我在上面阅读的内容,我发现 Apache Storm 是一个很好的解决方案,我们可以通过安装 azure 数据湖工具从 Visual Studio 开发 spout、bolts。

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

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

4

1 回答 1

0

这绝对是可能的。我一直没能找到 Azure 数据湖工具的源代码(也许它不是开源的?),但是关于如何用其他语言实现 Storm 拓扑的参考在这里http://storm.apache.org/发布/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 文件包含螺栓实现https://github.com/apache/storm/blob/master/examples/storm-starter/multilang/resources/splitsentence.py,这里使用 Python 的 Storm 多语言实现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,我还没有尝试过,但它可能值得一试?

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

于 2018-01-24T19:11:59.210 回答