内容简介:我有一类似乎自然采用图形结构的计算.该图远非线性,因为有多个输入以及扇出的节点和需要几个其他节点的结果的节点.在所有这些计算中,也可能存在几个接收器.但是,没有任何循环存在.输入节点被更新(不一定一次),我的值通过(此时纯粹是概念上的)图形.当输入改变时,节点保持状态,并且计算必须相对于输入顺序运行.因为我必须非常频繁地编写这样的计算,并且我每次都不愿意编写ad-hoc代码,所以我尝试编写一个小型库,以便通过编写各种顶点的类来轻松地将这些计算拼凑在一起.然而,我的代码相当不优雅,并没有利用这些计算的并行结构
我有一类似乎自然采用图形结构的计算.该图远非线性,因为有多个输入以及扇出的节点和需要几个其他节点的结果的节点.在所有这些计算中,也可能存在几个接收器.但是,没有任何循环存在.输入节点被更新(不一定一次),我的值通过(此时纯粹是概念上的)图形.当输入改变时,节点保持状态,并且计算必须相对于输入顺序运行.
因为我必须非常频繁地编写这样的计算,并且我每次都不愿意编写ad-hoc代码,所以我尝试编写一个小型库,以便通过编写各种顶点的类来轻松地将这些计算拼凑在一起.然而,我的代码相当不优雅,并没有利用这些计算的并行结构.虽然每个顶点通常都是轻量级的,但计算可能变得相当复杂和“宽”.为了使问题更加复杂,这些计算的输入在循环中非常频繁地更新.幸运的是,问题的规模足够小,我可以在一个节点上处理它们.
有没有人曾经处理类似的事情?您会推荐哪些想法/方法/工具?
Apache Storm:分布式硬件上可靠,实时的流处理
这听起来像Apache Storm(开源)将是完美的问题: http://storm.apache.org/
Apache Storm是关于实时流式计算,它一次处理一个元组(数据点). Storm保证每个元组至少被处理一次.使用Storm Trident,您可以进一步抽象Storm并获得完全一次的语义.
Apache Storm is a free and open source distributed realtime computation system. Storm makes it easy to reliably process unbounded streams of data, doing for realtime processing what Hadoop did for batch processing.
我公司和我一直在使用Apache Storm多年,它是最成熟的大数据技术之一.大数据技术是以水平分布的方式运行的技术(在廉价商品硬件上).
API和文档
主要的API是Java,但有适用于Ruby,Python,Javascript,Perl的适配器.但是,您实际上可以使用任何语言: http://storm.apache.org/about/multi-language.html
文档很好(尽管JavaDoc可以使用更多细节): http://storm.apache.org/documentation.html
基本理念 – 喷口和螺栓(=图形节点)
Storm具有Spout,您可以从中将数据读入所谓的拓扑.拓扑是您描述的此图.当新元组进入spout时,它们将通过拓扑发送.每个节点都是Storm Bolts之一.
用例
Storm has many use cases: realtime analytics, online machine learning, continuous computation, distributed RPC, ETL, and more. Storm is fast: a benchmark clocked it at over a million tuples processed per second per node. It is scalable, fault-tolerant, guarantees your data will be processed, and is easy to set up and operate.
翻译自:https://stackoverflow.com/questions/33771299/dataflow-processing
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- Apache Beam 2.24.0 发布,大数据流处理与批处理编程范式
- Apache Beam 2.25.0 发布,大数据流处理与批处理编程范式
- Apache Beam 2.27.0 发布,大数据流处理与批处理编程范式
- Apache Beam 2.28.0 发布,大数据流处理与批处理编程范式
- 使用ApacheFlink和Kafka进行大数据流处理
- 在 React 中处理数据流问题的一些思考
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Python语言程序设计基础(第2版)
嵩天、礼欣、黄天羽 / 高等教育出版社 / 2017-2 / 39
本书提出了以理解和运用计算生态为目标的Python语言教学思想,不仅系统讲解了Python语言语法,同时介绍了从数据理解到图像处理的14个Python函数库,向初学Python语言的读者展示了全新的编程语言学习路径。 全书一共设计了25个非常具有现代感的实例,从绘制蟒蛇、理解天天向上的力量到机器学习、网络爬虫,从文本进度条、统计名著人物重要性到图像手绘效果、雷达图绘制,绝大多数实例为作者原创......一起来看看 《Python语言程序设计基础(第2版)》 这本书的介绍吧!