spark

RDD(Resilient Distributed Dataset )
• 五大特性:
– A list of partitions
– A function for computing each partition
– A list of dependencies on other RDDs
– Optionally, a Partitioner for key-value RDDs
• shuffle的时候
– Optionally, a list of preferred locations to compute each split on
• task计算的数据本地化

在这里插入图片描述

节点就是机器

Spark的算子的分类

从大方向来说,Spark 算子大致可以分为以下两类:

 1)Transformation 变换/转换算子:这种变换并不触发提交作业,完成作业中间过程处理。

Transformation 操作是延迟计算的,也就是说从一个RDD 转换生成另一个 RDD 的转换操作不是马上执行,需要等到有 Action 操作的时候才会真正触发运算。

 2)Action 行动算子:这类算子会触发 SparkContext 提交 Job 作业。

Action 算子会触发 Spark 提交作业(Job),并将数据输出 Spark系统。

在这里插入图片描述

  • Spark与MapReduce的区别
    都是分布式计算框架,Spark基于内存,MR基于HDFS。Spark处理数据的能力一般是MR的十倍以上,Spark中除了基于内存计算外,还有DAG有向无环图来切分任务的执行先后顺序。

  • 哪里体现RDD的弹性(容错)?
    partition数量,大小没有限制,体现了RDD的弹性。
    RDD之间依赖关系,可以基于上一个RDD重新计算出RDD。

  • 哪里体现RDD的分布式?
    RDD是由Partition组成,partition是分布在不同节点上的。

  • RDD提供计算最佳位置,体现了数据本地化。体现了大数据中“计算移动数据不移动”的理念。

1.SparkStreaming简介

SparkStreaming是流式处理框架,是Spark API的扩展,支持可扩展、高吞吐量、容错的实时数据流处理,实时数据的来源可以是:Kafka, Flume, Twitter, ZeroMQ或者TCP sockets,并且可以使用高级功能的复杂算子来处理流数据。例如:map,reduce,join,window 。最终,处理后的数据可以存放在文件系统,数据库等,方便实时展现。

2.SparkStreaming与Storm的区别

1.Storm是纯实时的流式处理框架,SparkStreaming是准实时的处理框架(微批处理)。因为微批处理,SparkStreaming的吞吐量比Storm要高。
2.Storm 的事务机制要比SparkStreaming的要完善。
3.Storm支持动态资源调度。(spark1.2开始和之后也支持)
4.SparkStreaming擅长复杂的业务处理,Storm不擅长复杂的业务处理,擅长简单的汇总型计算。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值