首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >H20数据帧与Spark RDD的区别

H20数据帧与Spark RDD的区别
EN

Stack Overflow用户
提问于 2017-05-21 16:34:55
回答 1查看 542关注 0票数 2

我正在研究h2o框架,以使用其额外的机器学习工具。我只是好奇H20数据帧和Spark RDDs有什么不同。h2o数据帧可以像Spark RDDs一样缓存或持久化吗?

EN

回答 1

Stack Overflow用户

发布于 2017-05-21 16:59:59

与H2O的数据结构相反,Spark帧并不是惰性的。因此,不需要显式缓存/持久化,因为我们无论如何都要将整个帧加载到内存中。如果您的数据集大于集群的内存,这可能会有问题,但出于性能原因,我们以这种方式这样做。在spark中,无论如何都要缓存用于机器学习的RDDs。H2O帧有两个要求:

  • 总群集内存必须足够大,以容纳整个帧
  • 单行帧必须完全适合每台计算机(我们不按列分配帧,仅按行分配帧,这意味着我们采用X行,一个区块,并将它们全部放在单个节点上)

就像RDDs一样,H2O帧是完全分布式的,每个节点上只有一部分帧。我们的大多数算法都利用了数据局部性(即每个节点只使用存储在其上的行进行计算),但您也可以打乱数据,以便每个节点使用整个框架。

在将RDD转换为H2O帧时,我们在内存中实体化整个数据。当做相反的事情时,没有内存开销,因为我们只是在H2O框架上迭代。

H2O帧没有RDDs那么通用,但多亏了它,我们可以高度压缩内存中的数据。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44094810

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档