创建一个Man类,
package sparksql.day01
import scala.beans.BeanProperty
class Man {
@BeanProperty
var name: String= _
@BeanProperty
var age: String= _
def this(name:String,age:String){
this()
this.name = name
this.age = age
}
}
Man类必须有getter、setter方法,必须有构造方法
package sparksql.day01
import org.apache.spark.sql.SparkSession
object classDataFrame {
def main(args: Array[String]): Unit = {
val session = SparkSession.builder()
.master("local[*]")
.appName("dataframe")
.getOrCreate()
val sc = session.sparkContext
val rdd = sc.parallelize(List("test001,12","test002,13"))
val urdd = rdd.map(line => {
val strings = line.split(",")
new Man(strings(0),strings(1))
})
//使用RDD+类的结构 创建df
val df = session.createDataFrame(urdd,classOf[Man])
df.createTempView("tb")
val sqldf = session.sql("select * from tb")
sqldf.show()
session.stop()
}
}