PySpark 广播和累加器2024 年 8 月 29 日 | 阅读 2 分钟 Apache Spark 使用共享变量进行并行处理。并行处理可以减少执行任务的时间。当驱动程序将任务发送到集群上的执行器时,共享变量的副本会传输到集群的每个节点,以便可以用来执行任务。 Apache Spark 支持以下类型的共享变量。
1. 广播广播变量是一种共享变量,用于保存所有节点上的数据副本。 它允许程序员在每台机器上缓存一个只读变量,而不是在任务中传送它的副本。 例如,以有效的方式向每个节点提供大型输入数据集的副本。 以下代码提供了 PySpark 广播类的详细信息。 上面的代码显示了广播变量的用法。 它有一个名为 value 的属性。 它存储数据并用于返回广播值。 它将提供以下输出 输出 Stored data -> ['scala', 'java', 'hadoop', 'spark', 'akka'] Printing a particular element in RDD -> hadoop 2. 累加器累加器变量用于通过关联和交换操作来组合信息。 我们可以使用累加来进行求和操作和计数器(在 MapReduce 中)。 以下代码详细描述了累加器 我们考虑以下示例来描述如何使用累加器变量。 它具有与广播变量相同的名为 value 的属性; 此属性也存储数据。 然后它返回累加器值,但它只能在驱动程序中使用。 在以下示例中,累加器变量被多个节点使用,并返回一个累加值。 上面的程序保存为 accumulator.py,并给出以下输出 输出 The accumulate value is 15 下一个主题PySpark SparkFiles |
我们请求您订阅我们的新闻通讯以获取最新更新。