检查大小广播变量PySpark

时间:2016-02-12 15:27:48

标签: python apache-spark pyspark

我无法找到广播变量的大小。由于推动了集群的内存限制,这与我的项目相关。群集正在YARN上运行。在应用程序管理器中,我可以看到各个执行程序和驱动程序的内存使用情况,但我认为这些只是持久化的RDDS。

1 个答案:

答案 0 :(得分:2)

Spark使用pickle来序列化/反序列化广播变量。您可能想要尝试的一件事是检查pickle转储大小,例如:

>>> import cPickle as pickle
>>> data = list(range(int(10*1e6)))  # or whatever your broadcast variable is
>>> len(pickle.dumps(data)) 
98888896  # the measurement of the size of your broadcast variable, in bytes

对于影响群集内存限制的广播变量,previous question of mine有一些来自zero323的有用提示。