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