栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

spark sql和spark core之间的关系

spark sql和spark core之间的关系

资料来源:https://www.bilibili.com/video/BV1Jq4y1z7VP?p=107
这几天一直在学spark模块之间的关系,但是一直不清楚dataframe、RDD、dataset这几种数据结构之间的关系,也不清楚要写代码的话从哪里找文档,后面接触了spark sql之后一下子就明白了。本来以为Spark SQL只是用来写sql语句的,但是后面发现其包含的范围非常之大

sparkSQL是spark的一个模块,用于**处理海量结构化数据**,说明spark


spark sql 的特点:

因为 spark sql是用来替代Hive的,所有SPark和Hive之间的区别也有很大

而最重要的数据抽象就是以下问题:spark core中的数据抽象为RDD,而spark sql中的为dataframe,一个为二维表结构化数据,一个无标准数据结构

另外在Spark sql中还有一个dataset数据抽象类型,这个和dataframe的区别在于dataset不能用于python语言中

sparkSession和SparkContext的区别:
以前只能用SparkContext访问RDD编程,但是2。0之后SparkSession就能同时作为RDD和SQL编程入口了,

sparkSession的创建

spark = SparkSession.builder.appName("test").master("local[*]").getOrCreate()
 通过sparkSession创建SparkContext:
		sc = spark.sparkContext
这说明直接Session更加通用。
dataframe支持的风格编程

DSL风格
在使用spark的时候,经常会看到使用sql语言和一种其他的风格编程,另一种风格是DSL风格,也就是dataframe的特有API,比如df.where().limit(),而DSL风格有很多种方法,和pandas中的dataframe比较像,这个需要自行学习
sql风格
sql风格就是将dataframe首先定义为一个临时的视图,就像是sql数据库中的几个数据库
,而dataframe转换为视图有多种方式

    注册为临时表
	df.createTempView()
    注册或者替换历史表
	df.createOrReplaceTemView()    #注册或者替换临时视图
    注册为全局表,可以供其他的Context进行使用
	df.createOrReplaceTemView()    #注册或者替换临时视图
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/774709.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号