检查大小广播变量 PySpark



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

Spark 使用 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

至于影响集群内存限制的广播变量,我之前的一个问题有一些来自 zero323 的有用提示。

最新更新