sparksql的学习要点

sparksql的核心是df,ds;
关于rdd、df和ds的相互转化;
sparksql的数据加载与保存;

SparkSession,sparksql的新起点:
老版的SQLContext提供Spark自己提供的SQL查询;
Hive对应的是HiveContext的;

SparkSession实质上是SparkSession和HiveContext和SparkContext的两个的集合;

DF的创建:spark.read.tab键
在这里插入图片描述
res0.collect/reso.show
json数据工作实际用sparksql来读,不会是用sparkcore来读取文件。

spark.read.jdbc

sql风格语法
var df =spark.read.json("./examples/src/main/resources/people.json")

df.createTempView(“people”)

spark.sql(“select * from people where age > 20”)
res4.show
显示查询的结果

dsl风格语法
很少使用
不建议使用

import spark.implicits._

rdd,sparksql相互转化
最常用的
case class People(name:String ,age:Int)
rdd.map(x=>{val para = x.split(",");Peple(para(0),para(1).trim.toInt)})
res24.toDF

df.rdd实现从df到rdd的转换

dataFrame可以从sparksession中找到,也可以从dataset中找到
Dataframe实际上是DataSet中的特例。
方法都是放在dataset当中
实际运用主要是read读取文件
var ds = spark.range(10)
ds.show

rdd->ds
df->ds

先看rdd->ds
通过反射的方式来进行

df和ds强弱类型

df.map(x=>x.getString(1).show
公司中使用更多的是sql风格

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值