RDD编程--与Spark的链接

RDD编程–与Spark的链接

概述

在高层次上,每个 Spark 应用程序都包含一个驱动程序,该驱动程序运行用户的main功能并在集群上执行各种并行操作。Spark 提供的主要抽象是弹性分布式数据集(RDD),它是跨集群节点分区的元素集合,可以并行操作。RDD 是通过从 Hadoop 文件系统(或任何其他 Hadoop 支持的文件系统)中的文件或驱动程序中现有的 Scala 集合开始,然后对其进行转换来创建的。用户还可以要求 Spark 将RDD持久化在内存中,以便在并行操作中有效地重用它。最后,RDD 会自动从节点故障中恢复。

Spark 中的第二个抽象是可用于并行操作的共享变量。默认情况下,当 Spark 作为一组任务在不同节点上并行运行一个函数时,它会将函数中使用的每个变量的副本传送到每个任务。有时,变量需要在任务之间共享,或者在任务和驱动程序之间共享。Spark 支持两种类型的共享变量:广播变量,可用于在所有节点的内存中缓存值,以及累加器,它们是仅“添加”到的变量,例如计数器和总和。

与spark的链接

默认情况下,Spark 3.2.0 被构建和分发以与 Scala 2.12 一起使用。(Spark 也可以构建为与其他版本的 Scala 一起使用。)要在 Scala 中编写应用程序,您需要使用兼容的 Scala 版本(例如 2.12.X)。

要编写 Spark 应用程序,您需要在 Spark 上添加 Maven 依赖项。Spark 可通过 Maven Central 在以下位置获得:

groupId = org.apache.spark
artifactId = spark-core_2.12
version = 3.2.0

此外,如果您希望访问 HDFS 集群,则需要hadoop-client为您的 HDFS 版本添加依赖项 。

groupId = org.apache.hadoop
artifactId = hadoop-client
version = <your-hdfs-version>

最后,您需要将一些 Spark 类导入到您的程序中。添加以下几行:

import org.apache.spark.SparkContext
import org.apache.spark.SparkConf

(在 Spark 1.3.0 之前,您需要显式import org.apache.spark.SparkContext._启用必要的隐式转换。)

猜你喜欢

转载自blog.csdn.net/qq_43729898/article/details/121395710