首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

大数据中的Spark 优秀的计算框架 总结内容免费分享给你 过来拿吧

Spark定义

Spark是一个通用的大规模数据快速处理分析引擎,它是由scala语言开发的,是基于内存计算的大数据并行计算框架。它在提高数据处理的速度同时也能保证高容错性和高可伸缩性。

Spark构成

Spark包含SparkCore、SparkSQL、Spark Streaming、MLlib、Graph,这些技术结合到一块,可以解决大数据中的Batch Processing、Stream Processing、Ad-hocQuery等三大核心问题。

Spark特点

计算速度快 内存计算速度是MR的100倍,磁盘计算的速度是MR的10倍。

Spark采用DAG(有向无环图)执行引擎。

提供一个强大的技术栈,包括查询语言SparkSQL、实时流处理工具Spark Streaming、机器学习工具MLlib、图计算工具GraphX。

集成Hadoop,Spark可运行在YARN上,可读取Hadoop的HDFS,HBase等一切Hadoop的数据。

Spark有自己的资源管理和调度器Standalone。

建立在RDD(分布式内存抽象)之上。

Spark HA高可用

Spark Standalone集群是Master/Slaves架构的集群,是存在master单点故障问题,它可以利用zookeeper的来实现高可用。

Spark的重点概念

a.Application:Spark的应用程序,包含一个Driver Program 和 若干个Executor。

b.SparkContext:Spark应用程序的入口,负责调度各个运算资源,协调各个Worker Node上的Executor。

c.Driver Progarm(驱动程序):运行Application的main()函数并且创建SparkContext。

d.Executor:是Application运行在Worker Node上的一个进程,该进程负责运行Task,并且负责将数据存在内存或者磁盘上。每个Application都会申请各自的Executors来处理任务。

e.Cluster Manager:在集群上获取资源的外部服务(YANR|Standalone|Mesos)。

f.Worker Node:集群中任何可以运行Application代码的节点,运行一个或者多个Executor进程。

g.Task:运行在Executor上的工作单元。

h.Job:SparkContext提交的具体的Action操作,常和Action对应。

i.Stage:每个Job会被拆分很多任务(task),每组任务被称为Stage,也称TaskSet。

j.RDD:Resilient Distributed Datasets,弹性分布式数据集,是Spark最核心的模块和类。

k.DAGScheduler:根据Job构建基于Stage的DAG,并提交Stage给TaskScheduler。

l.TaskScheduler:将Taskset提交给Worker Node集群运行并返回结果。

m.Transformations/Action:Spark API的两种类型,Transformations的返回值还是一个RDD,Action的返回值不是一个RDD,而是一个Scala集合,所有的Transformation都是采用懒策略,如果只是将Transformation提交是不会执行计算的,计算只有在Action被提交时才被触发。

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180504A0WG0100?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券
http://www.vxiaotou.com