stream – 数据流处理

栏目: 编程工具 · 发布时间: 5年前

内容简介:我有一类似乎自然采用图形结构的计算.该图远非线性,因为有多个输入以及扇出的节点和需要几个其他节点的结果的节点.在所有这些计算中,也可能存在几个接收器.但是,没有任何循环存在.输入节点被更新(不一定一次),我的值通过(此时纯粹是概念上的)图形.当输入改变时,节点保持状态,并且计算必须相对于输入顺序运行.因为我必须非常频繁地编写这样的计算,并且我每次都不愿意编写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

基本理念 – 喷口和螺栓(=图形节点)

stream – 数据流处理

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


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

O2O进化论

O2O进化论

板砖大余、姜亚东 / 中信出版社 / 2014-5 / 49

在互联网的1.0时代,Online的商业和Offline的商业就像是两条平行线,没有交汇点,在移动浪潮下,他们正在交汇,这就是O2O(Online to Offline)。于是,人们认为:O2O就是线下将线上作为销售前台。结论是对的,但并非简单相加就可以达到。人们已经进入数据革命时期,O2O是线上和线下全流通的数据化工具,电子商务就是非数据商品的数据化。其次,O2O还是一种竞争格局。这决定了以O2......一起来看看 《O2O进化论》 这本书的介绍吧!

JS 压缩/解压工具
JS 压缩/解压工具

在线压缩/解压 JS 代码

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器

html转js在线工具
html转js在线工具

html转js在线工具