Spark 核心API
Spark 的核心API主要包括SparkContext、RDD(弹性分布式数据集)、DataFrame和DataSet。以下是这些API的简单介绍和示例代码。
- SparkContext
SparkContext是Spark应用程序的入口点。它负责与Spark集群资源(例如,执行器和驱动程序)的通信。
val conf = new SparkConf().setAppName("appName").setMaster("local")
val sc = new SparkContext(conf)
- RDD
RDD是Spark的基本抽象,代表一个不可变、可分区、并且可并行计算的数据集合。
val sc: SparkContext = ...
val rdd = sc.parallelize(Array(1, 2, 3, 4, 5))
val doubledRdd = rdd.map(_ * 2)
doubledRdd.collect() // 输出 Array(2, 4, 6, 8, 10)
- DataFrame
DataFrame是一种分布式的数据集,以类似于关系数据库中表的方式提供列。
val spark: SparkSession = SparkSession.builder().appName("appName").getOrCreate()
import spark.implicits._
val dataFrame = Seq(("John", 21), ("Mike", 30), ("Sara", 25)).toDF("Name", "Age")
dataFrame.show()
- DataSet
DataSet是分布式的、具类型的数据集合,可以用于强类型的操作。
case class Person(name: String, age: Int)
val spark: SparkSession = SparkSession.builder().appName("appName").getOrCreate()
import spark.implicits._
val dataSet = Seq(Person("John", 21), Person("Mike", 30), Person("Sara", 25)).toDS()
dataSet.show()
以上代码演示了如何创建SparkContext,并使用它来创建RDD、DataFrame和DataSet。在实际应用中,你可以使用这些API进行数据的转换和操作。
评论已关闭