2017-08-15 23 views
0

Apache Spark具有Resilient Distributed Dataset的概念。在本地Clojure中是否存在与弹性分布式数据集的等效项?

的RDD是:

它是对象的不可变的分布式集合。 RDD中的每个数据集都被划分为逻辑分区,这些分区可以在集群的不同节点上进行计算。

形式上,RDD是一个只读的分区记录集合。可以通过对稳定存储或其他RDD上的数据进行确定性操作来创建RDD。 RDD是可以并行操作的容错组件的容错集合。

现在Clojure有immutable data structuresrunningparallel中的高阶函数。我想了解FlamboSparkling。我不是在寻找一个接口,而是为了一个等效的数据结构。

我的问题是:在本地Clojure中是否有与弹性分布式数据集相当的功能?

+0

没有相应的; clojure没有分布式数据的原生概念(事实上,也许存在一个,但我想不出任何代表分布式数据的编程语言)。 – Josh

回答

0

那么,一个正常的Clojure映射和矢量可以很容易地在多个核心上使用core.reducers/fold在子分区中并行处理。

地图和矢量在默认情况下是不可变的,这个设置看起来等同于RDD。

不同之处在于,fold会在多核上计算,而不是在多台机器上计算。所以它是平行的,但不是分布式的。

Onyx和Storm是分布式计算框架,完全在Clojure中实现,可以完成Spark的工作。这些可能就像火星上的RDD一样。

相关问题