如何查找pyspark数据帧内存使用情况?

时间:2017-09-14 20:59:22

标签: python apache-spark dataframe pyspark

对于python数据帧,info()函数提供内存使用。 在pyspark有任何等价物吗? 感谢

4 个答案:

答案 0 :(得分:4)

尝试使用the following trick

.white {
     color: white;
}
.red {
    color: red;
}

答案 1 :(得分:1)

您可以将数据帧保留在内存中,并以df.count()的形式执行操作。您可以在spark web ui上的“存储”选项卡下检查大小。让我知道它是否适合您。

答案 2 :(得分:1)

我有一些想法,只是一个粗略的估计。据我所知,spark没有获取数据帧内存使用率的直接方法,但是Pandas数据帧却有。所以你可以做的。

  1. 选择1%的数据sample = df.sample(fraction = 0.01)
  2. pdf = df.toPandas()
  3. 通过pdf.info()获取pandas数据帧的内存使用情况
  4. 将该值乘以100,可以粗略估计整个spark数据帧的内存使用情况。
  5. 如果我错了,请纠正我:|

答案 3 :(得分:0)

下面怎么样?以KB为单位,X100为估算的实际大小。

df.sample(fraction = 0.01).cache().count()