sparksql 基础

这篇博客介绍了SparkSQL的基础使用,包括如何构建SparkSession,以及使用DSL语法操作数据帧,如显示数据和创建临时视图。
摘要由CSDN通过智能技术生成

package shadow


import org.apache.spark.rdd.RDD
import org.apache.spark.sql.{DataFrame, SparkSession}
import org.apache.spark.{SparkConf, SparkContext}

// 定义需要放在方法的作用域之外
case class Person(id:Int,name:String,age:Int)


//主方法

object Man {

  def main(args: Array[String]): Unit = {

//构建sc

    val spark: SparkSession = SparkSession.builder().appName("baidu").master("local[2]").getOrCreate()

    val sc: SparkContext = spark.sparkContext

//设置日志级别
    sc.setLogLevel("WARN")

//加载数据
    val Lines: RDD[Array[String]] = sc.textFile("E:\\ab.txt").map(_.split(" "))
//将RDD与Person类关联
    val personRDD: RDD[Person] = Lines.map(x=> Person(x(0).toInt,x(1),x(2).toInt))

     //创建DataFrame,必须隐士转换。
    import spark.implicits._
    val personDF: DataFrame = personRDD.toDF


//DSL语法操作

//    personDF.show()

//    personDF.printSchema()
//    personDF.select("name").show()


    //将DataFrame注册成表

      personDF.createOrReplaceTempView("t_person")

   //  spark.sql("select * from t_person" ).show()
   // spark.sql("select * from t_person where name='zhangsan'").show()
    spark.sql("select * from t_person order by age desc").show()
  sc.stop()
  }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值