spark SQL操作json数据

package hbase

import org.apache.spark.sql.{SaveMode, SparkSession}

/**
* Created by songmingqi on 2018/9/4
* 数据类型
* {“name”:”Signal”,”age”:15}
* {“name”:”May j Lee”,”age”:20}
* {“name”:”Jay Chou”,”age”:36}
* {“name”:”Jack Chen”,”age”:60}
*/
object SparkSQLJson {
case class Person(name:String,age:Long)

def main(args: Array[String]): Unit = {
val spark = SparkSession.builder().appName(“spark json”).master(“local[2]”).getOrCreate()

val df = spark.read.json("file:\\D:\\bigdata\\person.json")
//df.show()
//df.printSchema()
//df.select("name").show()

import spark.implicits._
//df.select($"name",$"age"+2).show()
//df.filter($"age">18).show()
//df.where($"age">20).select("name","age").show()
//df.groupBy("age").count().show()

df.createTempView("Person")
val sql = spark.sql("select * from Person")//.show()

createDataFrameTest(spark)

}
def createDataFrameTest(spark :SparkSession):Unit = {
import spark.implicits._
//创建dateSet,新建一个泛型序列,里面有两个值
val classDS = Seq(Person(“zhao”,22),Person(“song”,25)).toDS()
//classDS.show()
// classDS.write.mode(SaveMode.Overwrite).json(“file:\D:\bigdata\person1.json”)

val primitiveDS = Seq(1,2,3).toDS()
val ds = primitiveDS.map(_+2).collect()
ds.foreach(println(_))

val path = "file:\\D:\\bigdata\\person1.json"
val personDS = spark.read.json(path).as[Person]
personDS.show()

}
}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值