package SparkSQLDemo
import org.apache.spark.sql.SQLContext
import org.apache.spark.{SparkConf, SparkContext}
/**
* Created by tg on 10/27/16.
* 通过反射方式将RDD转换成DataFrame
*/
//注意:此时需要extends App,不能使用main函数
object RDD2DataFrameReflection extends App{
val conf=new SparkConf().setAppName("RDD2DataFrameReflection").setMaster("local")
val sc=new SparkContext(conf)
val sqlContext=new SQLContext(sc)
/**
* 使用反射方式将RDD转换为DataFrame,需要手动导入一个隐式转换
*/
import sqlContext.implicits._
case class Student(id:Int,name:String,age:Int)
val stuDF=sc.textFile("file:///home/tg/datas/stus.txt")
.map(line=>line.split(","))
.map(m=>Student(m(0).trim.toInt,m(1).trim,m(2).trim.toInt)).toDF()
stuDF.registerTempTable("stus")
val ageResult=sqlContext.sql("select * from stus where age<18")
ageResult.show()
}
import org.apache.spark.sql.SQLContext
import org.apache.spark.{SparkConf, SparkContext}
/**
* Created by tg on 10/27/16.
* 通过反射方式将RDD转换成DataFrame
*/
//注意:此时需要extends App,不能使用main函数
object RDD2DataFrameReflection extends App{
val conf=new SparkConf().setAppName("RDD2DataFrameReflection").setMaster("local")
val sc=new SparkContext(conf)
val sqlContext=new SQLContext(sc)
/**
* 使用反射方式将RDD转换为DataFrame,需要手动导入一个隐式转换
*/
import sqlContext.implicits._
case class Student(id:Int,name:String,age:Int)
val stuDF=sc.textFile("file:///home/tg/datas/stus.txt")
.map(line=>line.split(","))
.map(m=>Student(m(0).trim.toInt,m(1).trim,m(2).trim.toInt)).toDF()
stuDF.registerTempTable("stus")
val ageResult=sqlContext.sql("select * from stus where age<18")
ageResult.show()
}