- 添加依赖
<dependency>
<groupId>org.apache.spark</groupId>
<artifactId>spark-sql_2.11</artifactId>
<version>2.1.1</version>
</dependency>
- 代码实现
object SparkSQL01_Demo {
def main(args: Array[String]): Unit = {
val conf: SparkConf = new SparkConf().setMaster("local[*]").setAppName("SparkSQL01_Demo")
val spark: SparkSession = SparkSession.builder().config(conf).getOrCreate()
import spark.implicits._
val df: DataFrame = spark.read.json("D:\\dev\\workspace\\spark-bak\\spark-bak-00\\input\\test.json")
df.createOrReplaceTempView("user")
val rdd1: RDD[(Int, String, Int)] = spark.sparkContext.makeRDD(List((1,"qiaofeng",30),(2,"xuzhu",28),(3,"duanyu",20)))
val df1: DataFrame = rdd1.toDF("id","name","age")
val ds1: Dataset[User] = df1.as[User]
val df2: DataFrame = ds1.toDF()
val rdd2: RDD[Row] = df2.rdd
rdd1.map{
case (id,name,age)=>User(id,name,age)
}.toDS()
ds1.rdd
spark.stop()
}
}
case class User(id:Int,name:String,age:Int)