CreateDataFrame

package com.bdqn.practise

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

object CreateDataFrame {
def main(args: Array[String]): Unit = {
//TODO 创建一个SparkSession对象

val spark: SparkSession = SparkSession.builder().master("local[*]").appName("test02").getOrCreate()
val sc: SparkContext = spark.sparkContext

//导包,根据上面
import spark.implicits._

//TODO 通过spark.read读取json文件生成DataFrame
val jsontoDF: DataFrame = spark.read.json("file:///D:\\hadoopstudy\\sparkSql_day0812\\src\\data\\people.json")

// spark.read.format(“json”).load(“file:///D:\hadoopstudy\sparkSql_day0812\src\data\people.json”)

// jsontoDF.show()

//TODO 打印schema信息
jsontoDF.printSchema()

//TODO select
jsontoDF.select("name").show()

//TODO
jsontoDF.select(jsontoDF("name"),jsontoDF("age")).show()

jsontoDF.select(jsontoDF("name"),jsontoDF("age")+1).show()

println("*********分割*********")
jsontoDF.select($"name",$"age"+1).show()

jsontoDF.filter($"age">20).show()

//TODO groupBy
jsontoDF.groupBy("age").count().show()

//TODO 把DataFrame注册成一张临时表
jsontoDF.createOrReplaceTempView("people")
val df2: DataFrame = spark.sql("select * from people where age>20")
df2.show()

// spark.newSession().sql(“select * from people where age>20”)

println("*********分割*********")
jsontoDF.createOrReplaceGlobalTempView("p1")
spark.newSession().sql("select * from global_temp.p1 where age>20").show()

spark.stop()

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值