Spark

spark运行的中间数据是放到内存中。

spark在内存中运行是MapReduce的100多倍,在磁盘上运行是MapReduce的10多倍

yarn-site.xml 查看yarn任务web页面端口

RDD:弹性分布式数据集,spark将Rdd划分为若干子集,每个子集称为一个分区,分区是RDD的基本组成单位

创建RDD的三种方式:

1、基于集合创建

2、基于外部存储创建,textFile

3、基于已有的RDD创建新的RDD

常见操作:执行操作(first、count、collect等)、转换操作(现有RDD生成新RDD)--【Transformation算子、Action算子】、持久化操作(cache、persist、checkpiont)、存储操作(saveAsTextFile、saveAsObjectFile、saveAsHadoopFile等方法可以将RDD写入到HDFS文件,利用saveAshadoopDataset也可以将RDD存入到Hbase中 )

RDD依赖关系:分为窄依赖和宽依赖

窄依赖是指每个父RDD的分区都至多被一个子RDD分区使用。

宽依赖是指多个子RDD的分区依赖一个父RDD的分区。

RDD依赖关系的特征:

1、窄依赖可以在某个计算节点上直接通过计算父RDD的某块数据得到子RDD对应的某块数据,宽依赖侧需要等到父RDD所有数据都计算完成,且父RDD的计算结果进行hash并传到对应节点上之后才能计算子RDD。

2、数据丢失时,对于窄依赖,只要重新计算丢失那一块数据就可以完成恢复,对于宽依赖,侧要通过将祖先RDD中的所有数据块全部重新计算来恢复,所以在长“血统”链,特别是有宽依赖的时候,需要在适当时机设置数据检查点。也是对两个特征要求对于不同依赖关系要采取不同的任务调度机制和容错恢复机制。

Cluster Manager:集群上获取资源的外部服务。

调度流程:1、作业的生成与提交

2、阶段的划分

3、调度阶段的提交

4、任务的提交与执行

  • SparkSQL:是一个用来处理结构化数据的spark组件,被视为一个分布式的sql查询引擎,并提供了一个叫作DataFrame的可编程的抽象数据模型

Spark SQL:表数据在内存中是采用内存列的存储方式,该存储方式无论在空间占有量还是读取吞吐率上都占有很大优势。

Spark SQL 优点:

1、内存列存储

2、字节码生成技术

3、scala代码优化

Spark SQL特点:

1、面向多种语言,能够将sql预计集成到spark应用程序中

2、具体统一的数据访问方式,可以从各种数据源读取数据,eg:hive、json、Parquest

3、支撑商业BI连接Spark SQL查询数据

Spark SQL的执行流程:

SQL解析、绑定、优化、执行

Spark SQL CLI 命令行界面输入SQL

DataFrame模型:是一个以命名列方式组织的分布式数据集;

创建DataFrame方式:

1、基于Parquet类型文件创建:Parquet是一种流行的列式文件存储

2、基于JSON类型文件创建

3、基于RDD创建

保存DataFrames的方式:

1、临时表:所在的应用退出临时表自动销坏,使用registerTempTable方案

2、持久化表:saveAstable

3、缓存表:通过cacheTabel创建缓存表,使用uncacheTable删除缓存表

 

Spark Streaming:是一个流式处理框架,可以面向海量数据实现高吞吐量、高容错的实时计算。

相比storm,在实时性和容错性上不如storm,但吞吐量远远高于storm,spark streaming一般0.5-2s做一次处理,而storm最快可达0.1s

基本概念:

批处理时间间隔:数据流被多长时间切分一次,切一次生成一个RDD

窗口时间间隔:窗口长度,多长时间对RDD序列进行分析和处理,必须是批处理时间的整数倍

滑动时间间隔:觉得streaming对数据进行统计与分析的频率,eg:批处理1s,窗口3s,滑动2s,其含义是:每隔2s,对前3s产生的RDD进行统计分析

DStream: 以时间为键的RDD的动态序列。

基本操作:

无状态转化操作:不依懒之前Dstream

有状态转化操作:依赖之前的Dstream

输出操作:打印、保存为文件

持久化操作:持久化到磁盘

数据源:

基础数据源:套接字(socket)、文件流(文件、HDFS、NFS等)、Akka actor流

高级数据源:Twitter、Kafka、Flume、Kinesis

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值