我正在研究h2o框架,以使用其额外的机器学习工具。我只是好奇H20数据帧和Spark RDDs有什么不同。h2o数据帧可以像Spark RDDs一样缓存或持久化吗?
发布于 2017-05-21 16:59:59
与H2O的数据结构相反,Spark帧并不是惰性的。因此,不需要显式缓存/持久化,因为我们无论如何都要将整个帧加载到内存中。如果您的数据集大于集群的内存,这可能会有问题,但出于性能原因,我们以这种方式这样做。在spark中,无论如何都要缓存用于机器学习的RDDs。H2O帧有两个要求:
就像RDDs一样,H2O帧是完全分布式的,每个节点上只有一部分帧。我们的大多数算法都利用了数据局部性(即每个节点只使用存储在其上的行进行计算),但您也可以打乱数据,以便每个节点使用整个框架。
在将RDD转换为H2O帧时,我们在内存中实体化整个数据。当做相反的事情时,没有内存开销,因为我们只是在H2O框架上迭代。
H2O帧没有RDDs那么通用,但多亏了它,我们可以高度压缩内存中的数据。
https://stackoverflow.com/questions/44094810
复制相似问题