spark sql从入门到成魔(一)

spark sql 基本原理

sparksql 概述与架构

sparksql是spark在处理结构化数据的解决方法方案。
sparksql是一个分布式的sql查询引擎语言。
sparksql由 catalyst优化,==sparksql内核 ,hive支持 组成

catalyst优化
优化处理查询语句整个过程的 ,对sql的解析,优化
sparksql内核
对要处理的数据进行获取和输入,执行查询。把执行的结果输出为Dataframe格式。
hive支持
支持对hive数据的处理

sparksql执行流程

1:对sql语句进行sql解析器,生成 Unresolved 逻辑计划
2: Unresolved 逻辑计划经过 catalyst分析器,生成Analyzed 逻辑计划Schema Catalog 则要提取 schema 信息
3:Analyzed 逻辑计划经过 catalyst优化,生成Optimized 逻辑计划
4:Optimized 逻辑计划 通过 spark planner生成 物理计划,调用next,生成可执行的物理计划
5: toDf生成 Dataframe

sparksql 相对于 hive 和 MapReduce 作业的优点

  1. 支持多种语言进行开发如java,scala,python等 。。。
  2. 兼容的数据格式多,hive表,json等。。。
  3. 方便扩展,它解析器和优化器可以重新定义
  4. 性能优化,采用内存列式存储动态字节码生成内存缓存数据

sparksql基本操作命令

数据准备
在这里插入图片描述
导入SparkSession包
在这里插入图片描述

通过SparkSession的builder的getOrCreate来创建SparkSession对象。
在这里插入图片描述

隐式装换,将RDD==>DataFrame
在这里插入图片描述

读取json数据
在这里插入图片描述
查看结果:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

注册为临时view
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

DataFrame 和Dataset 两种的使用

DataFrame:以指定的列组成的分布式数据的集合,相当于关系型数据库中的表,支持多种数据源的构建。
RDD与DataFrame数据结构的区别:
在这里插入图片描述

DataFrame 操作分为 Action基础 DataFrame 函数集成语言查询Output 操作RDD 操作等。

Action

collect、count、first、head、take

在这里插入图片描述
在这里插入图片描述

DataFrame 基础函数

在这里插入图片描述
在这里插入图片描述

spark数据持久化
默认不指定的话就是StorageLevel (内存) ,当内存不足的时候可以选择内存和磁盘
最优是内存 ,避免磁盘io带来的性能消耗。

DataSet

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

集成语言查询

sort
filter
intersect
limit

RDD转DataFrame的方式

两种方式
1:如果提前知道sparkApplication的schema的话可以使用隐式装换
如上面所示

import spark.implicits._ 

在这里插入图片描述

2:通过一个编程接口,允许构建一个 Schema,然后应用到现有的 RDD

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
课程介绍:          Informatica 9.6 实战课程,将从数据仓库体系架构介绍,服务器搭建配置,实例组件操作,丰富的案例,及项目实战开发过程 来讲述ETL工具Informatica实际应用,真正完数据仓库全流程开发应用,ODS层,EDW层,DM层,学完该课程具备ETL软件开发工程师能力水平,能独立完项目开发工作,从入门到高级项目开发应用,每个实例都载图,课件,教程,数据等,能达到中高级ETL开发能力,本课程的学习要求,一定跟着实例动手实战,操作才能掌握实例的开发步骤,及开发注意事项。每个组件都用具体案例讲解,保证学以致用。掌握ETL的开发技能,搭建数据仓库体系架构。应对各环境操作。具体数据实操与应用。 你将收获:ETL软件开发工程师能力与水平数据仓库体系架构案例综合应用实战ETL实战项目开发数据采集与数据处理数据清洗与数据仓库指标统计学会使用Informatica项目开发掌握ETL开发流程掌握数据质量管理 适用人群 数据仓库初学者 数据仓库开发工程师 数据库开发工程师 BI开发工程师 数据可视化工程师大数据开发与应用 数据仓库管理 数据管理 数据分析师 业务数据分析 零基础入门ETL ETL大数据处理 数据仓库体系架构图: 课程大纲:01_Informatica9.6课程导学02_数据仓库体系介绍03_Oracle_安装04_Oracle_配置.wmv05_PLSQL工具汉化破解06_Informatica9.6安装.wmv07_Informatica9.6服务器配置.wmv08_客户端的安装配置连接.wmv09_客户端工具介绍10_源数据介绍11_入门实例EMP_0112_入门实例EMP_0213_入门实例DEPT表14_表达式Fx组件实例115_表达式Fx组件实例216_聚合组件实例17_查找Lookup组件实例18_过滤Filter组件实例19_Informatica9.6 排序sort组件实例详解20_Informatica9.6 分发器Router组件实例21_Informatica9.6 sql连接查询复习22_Informatica9.6 连接查询同构SQ23_Informatica9.6 连接查询异构JOIN24_Informatica9.6 等级函数Rank实例25_Informatica9.6 数据合并Union组件实例26_Informatica9.6 存储过程Px组件实例27_1行转列案例sql28_2行转列案例ETL过程29_工资大于该职位下平均工资案例30_增量抽取案例31_缓慢变化维案例32_对文件数据的读取写入33_项目1薪酬统计项目介绍34_Informatica 项目1薪酬统计项目接口入库ODS35_Informatica 项目1薪酬统计项目EDW层明细表临时表1sql36_Informatica 项目1薪酬统计项目EDW层明细表临时表2ETL37_Informatica 项目1薪酬统计EDW层明细表138_Informatica 项目1薪酬统计EDW层明细表239_Informatica 项目1薪酬统计EDW层明细表340_Informatica 项目1薪酬统计DM层月考勤统计报表41_Informatica 项目1开发DM层统计报表142_Informatica 项目1开发DM层统计报表243_Informatica 项目1开发DM层统计报表344_Informatica 项目1开发DM层薪资报表145_Informatica 项目1开发DM层薪资报表246_Informatica 项目1开发DM层薪资报表347_Informatica 项目2计费系统项目介绍48_Informatica 项目2计算系统项目ODS层49_Informatica 项目2计费系统EDW层150_Informatica 项目2计费系统EDW层251_Informatica 项目2计费系统EDW层352_Informatica 项目2计费系统DM层 

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值