内容简介:我有一类似乎自然采用图形结构的计算.该图远非线性,因为有多个输入以及扇出的节点和需要几个其他节点的结果的节点.在所有这些计算中,也可能存在几个接收器.但是,没有任何循环存在.输入节点被更新(不一定一次),我的值通过(此时纯粹是概念上的)图形.当输入改变时,节点保持状态,并且计算必须相对于输入顺序运行.因为我必须非常频繁地编写这样的计算,并且我每次都不愿意编写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 中处理数据流问题的一些思考
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
统计思维:程序员数学之概率统计
Allen B.Downey / 张建锋、陈钢 / 人民邮电出版社 / 2013-5 / 29.00元
代码跑出来的概率统计问题; 程序员的概率统计开心辞典; 开放数据集,全代码攻略。 现实工作中,人们常被要求用数据说话。可是,数据自己是不能说话的,只有对它进行可靠分析和深入挖掘才能找到有价值的信息。概率统计是数据分析的通用语言,是大数据时代预测未来的根基。 站在时代浪尖上的程序员只有具备统计思维才能掌握数据分析的必杀技。本书正是一本概率统计方面的入门图书,但视角极为独特,折......一起来看看 《统计思维:程序员数学之概率统计》 这本书的介绍吧!