1.广播变量(broadcast variable)为只读变量,它由运行SparkContext的驱动程序driver创建后发送给会参与计算的节点。对那些需要让各工作节点高效地访问相同数据的应用场景,比如机器学习,这非常有用。
2.collect函数是一个Spark执行函数,它将整个RDD以Scala(Python或Java)集合的形式返回给驱动程序driver所在节点。通常只在需将结果返回到driver所在节点以供本地处理时,才调用collect函数。注意,collect函数一般仅在的确需要将整个结果集返回驱动程序driver并进行后续处理时才有必要调用。如果在一个非常大的数据集上调用该函数,可能耗尽driver的可用内存,进而导致程序崩溃。高负荷的处理应尽可能地在整个集群上进行,从而避免driver成为系统瓶颈。然而在不少情况下,将结果收集到driver的确是有必要的,很多机器学习算法的迭代过程便属于这类情况。
本文介绍了Spark中广播变量的概念及应用场景,特别是对于大规模数据处理的机器学习任务来说,其可以有效提高数据访问效率。此外,还探讨了collect函数的作用及其在实际应用中的注意事项。
496

被折叠的 条评论
为什么被折叠?



