避免尽可能多地收集火花

罗恩·阿德

我看到对使用spark的任何人(在我的Scala中为例)的一般建议是避免采取任何将所有数据从执行者获取到驱动程序的行为(收集,计数,总和等)。但是,当我尝试使用火花统计库http://spark.apache.org/docs/2.2.0/ml-statistics.html时,我发现相关矩阵和ChiSquareTest方法期望使用数组或从array \ seq获得的矩阵作为它们的参数,因此,如果要使用此功能,我看不到如何避免收集到数据帧(以及我认为要使其成为Vector而不是Row类型的更多操作)。将不胜感激。

拉扬·拉尔(Rayan Ral)
  1. 在您的示例中,Correlation.corrChiSquareTest.test都接受数据帧,因此您无需在将数据传递给这些函数之前收集数据。您必须在驱动程序上收集这些函数的结果,但这不会引起任何问题,因为输出大小应该比初始数据集小得多,并且应该容易地放入驱动程序的内存中。
  2. groupBy//的注释中,您的问题joins是“昂贵的”,但出于不同的原因。分组和联接会导致数据混排-因此,您的工作人员需要通过网络发送大量数据,这比本地数据处理花费更多的时间。不过,尽管如此,如果您必须执行此操作-可以这样做,只是要意识到性能的影响。
  3. collect不建议在完整的数据集上使用该方法,因为该方法可能会导致驱动程序出现OOM错误(想象一下,您有50 Gb数据集,分布在群集上,现在您将其收集在单个节点上),但是,如果您已经处理了数据,并且知道行的数量是合理的,那么这样做是非常安全的。count从内存的角度来看,这根本不是问题,因为它只是返回数据集中的行数,而不是将所有行发送到驱动程序节点。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

尽可能多地使用函数是否很好?

来自分类Dev

尽可能早地初始化Spring Bean

来自分类Dev

在Git中拥有尽可能多的提交还是尽可能少的提交更好?

来自分类Dev

使div尽可能宽

来自分类Dev

如何使wkhtmltopdf在尽可能多的情况下工作?

来自分类Dev

正则表达式,它尽可能多地匹配组

来自分类Dev

尽可能少地匹配(类似贪婪)

来自分类Dev

Haskell:GHCi尽可能多地加载,而不是失败或错误

来自分类Dev

节点中有尽可能多的子代python

来自分类Dev

如何尽可能多地输入x和y?

来自分类Dev

如何在flexbox中具有自动宽度内容而不破坏布局?(占用尽可能多的空间,并尽可能少地占用空间)

来自分类Dev

从流中读取尽可能多的JSON数据

来自分类Dev

尽可能紧凑地序列化结构

来自分类Dev

我该如何尽可能多地运行Timer?[Vb.Net]

来自分类Dev

ES查询以匹配查询中尽可能多的单词

来自分类Dev

安排尽可能多的Pod,使其适合群集?

来自分类Dev

是否应尽可能避免循环范围?

来自分类Dev

尽可能早地初始化Spring Bean

来自分类Dev

使div尽可能宽

来自分类Dev

如何避免渲染元素尽可能简单

来自分类Dev

从多个同义词中尽可能多地造句

来自分类Dev

如何使wkhtmltopdf在尽可能多的情况下工作?

来自分类Dev

正则表达式,它尽可能多地匹配组

来自分类Dev

TSQL匹配尽可能多的逗号分隔标记

来自分类Dev

如何水平放置尽可能多的 <div>

来自分类Dev

以最大尺寸使对话尽可能多地发生

来自分类Dev

有没有办法让嵌套循环尽可能多地循环(python)?

来自分类Dev

尽可能多地将文本添加在一起

来自分类Dev

将尽可能多的代码行 # 移出 main

Related 相关文章

热门标签

归档