Scala反射创建DataFrame(方式一,已知数据类型)

package sparkSql.方法1创建DataFrame

import org.apache.spark.sql.{SQLContext, SaveMode}
import org.apache.spark.{SparkConf, SparkContext}

object Student {
def main(args: Array[String]): Unit = {
val conf = new SparkConf().setAppName(this.getClass.getName).setMaster("local")
val sc = new SparkContext(conf)
val sQLContext = new SQLContext(sc)

val file = sc.textFile("C:\\Program Files\\feiq\\Recv Files\\day11-Spark SQL\\students.txt")

val stuRDD = file.map(t=>{
val arr = t.split(",")
Stu(arr(0).toInt,arr(1),arr(2).toInt);
})

import sQLContext.implicits._
val df = stuRDD.toDF()
df.registerTempTable("stu")
val df2 = sQLContext.sql("select name from stu where age < 18")
//df2.show()
// 保存数据类型
// df2.write.orc()
// df2.write.json()
// df2.write.text()

df2.write.format("text").save("D:\\stuTest")//只能一个字段
//df2.write.mode(SaveMode.Append).save("D:\\stuTest")//只能一个字段


// df.rdd 转javaRDD
// df.show()
}
}
case class Stu(id:Int,name:String,age:Int)


pom.xml文件同java上面

转载于:https://www.cnblogs.com/VIP8/p/10434368.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值