Spark生态圈小贴士

学习Spark的基本组件,主要由SparkSql、SparkStreaming等构成,简单理解其基本原理,构建Spark生态的全貌。

一、Spark Sql常识

Spark Sql提供了对于结构化和半结构化数据的快速操作,主要具备以下三种功能,

(1)从多种结构化数据源(json、parquet和hive)中读取数据

(2)支持Spark应用程序内部调用和外部工具通过标准连接器连接Spark Sql进行查询

(3)Spark Sql中sql与Java/Python/Scala代码高度整合

二、Spark Streaming常识

(1)Spark Streaming中使用离散化流作抽象表示并称为DStream,其由RDD组成的队列

(2)Spark Streaming支持两种操作,转化操作和输出操作,转化操作输出为新的DStream,输出操作将结果输出到硬盘上。转化操作包括无状态和有状态,重点关注有状态的转化操作。

(3)有状态的操作主要是两种类型,一种以时间阶段为滑动窗口进行操作,一种用来跟踪每个键的状态变化。基于窗口的操作需要两个参数,分别为窗口时长和滑动步长,两者都必须是SparkContext设置的批次间隔的整数倍,前者控制每次计算最近的多少个批次的数据,后者用来控制对新的DStream进行计算的间隔,如图所示,

Spark生态圈小贴士_第1张图片
1-基于窗口的转化操作

当需要在DStream跨批次维护状态时,使用updateStateByKey()为我们提供对一个状态变量的访问,用于键值对形式的DStream,比如跟踪用户访问网站的会话。

Spark体系

大数据时代

你可能感兴趣的:(Spark生态圈小贴士)