package sparksql.day01
/*
使用样例类,创建DataFrame对象,
df = rdd + schema 信息
*/
import org.apache.spark.sql.SparkSession
//使用case class 类 创建DataFrame
object SparkDataFram {
def main(args: Array[String]): Unit = {
//构建sparksession对象
val session = SparkSession.builder()
.master("local[*]")
.appName("dataframe")
.getOrCreate()
//获取SparkContext对象
val sc = session.sparkContext
//根据SparkContext对象创建RDD
val rdd = sc.parallelize(List("test001,12","test002,13"))
val urdd = rdd.map(line => {
val strings = line.split(",")
//使用样例类,将RDD信息封装一层,
Person(strings(0), strings(1))
})
//导入隐式声明 不导入,无法将使用rdd.toDF方法
import session.implicits._
val df = urdd.toDF()
//创建一个临时视图,在视图中,命名表名
df.createTempView("tb")
//使用session对象,sql语法查询
val sqldf = session.sql("select * from tb")
//显示查询的结果
sqldf.show()
session.stop()
}
}
case class Person(name:String,age:String)
SparkSQL---使用样例类创建DataFrame
最新推荐文章于 2022-04-24 14:30:44 发布