大数据学习

初始Spark

2020-02-09  本文已影响0人  TZX_0710

Spark官方介绍
Apache Spark™ is a unified analytics engine for large-scale data processing.
译:Apache Spark™是一个用于大规模数据处理的统一分析引擎。
Spark可以替代Hadoopd中的mapreduce进行计算。Spark计算结果和中间数据可以保存在内存中。mapreduce计算结果和中间数据保存在磁盘上。

Spark四大特点:
1.速度快 根据官网介绍mapreduce计算时间需要110s的,Spark只需要0.9s就可以完成 。Spark是基于内存计算的,mapreduce计算的时候每一个结果都存放在磁盘中。spark减少了磁盘读取的时间。Spark任务以线程的方式运行在进程中,mapreduce任务以进程的方式运行在yarn集群中,一个任务就需要一个进程,如果有100百个任务,那么就有100个进程。开启线程和进程的时间是不能成正比的,所耗费的时间也不一样。
2.易用性 Spark offers over 80 high-level operators that make it easy to build parallel apps. And you can use it interactively from the Scala, Python, R, and SQL shells. 译Spark有80多个运营商。你可以使用scala、或者pytho或者sql和它进行交互
3.通用性 Spark 已经形成了自己的一个生态,其内部包含了许多模块
SparkSQL:通过sql去做离线分析
SparkStreaming:解决实时计算用的
Mlib:机器学习的算法库
Graphx:图计算方面的复
4.兼容性 只要可以给Spark提供计算资源的 Spark就可以把Spark提交到哪里去运行 run everyWhere

Spark计算流程图:

image.png

Driver:运行A品牌力擦体哦那的main函数并且创建SparkContext.
Client:用户提交作业的客户端
Workder:集群中任何可以运行application代码的节点,运行一个或多个Executor
Executor:运行在workder的task执行器,Executor启动线程池运行task,并且负责将数据存储在磁盘上。每个Application都会申请Executor来处理任务
SparkContext:整个应用的上下文,控制应用的生命周期
RDD:Spark的基本计算单元,一组RDD 形成执行的Rdd Graph
DAG Sheduler:根据 Job己于stage的DAG工作流,并提交 stage给TaskScheduler。
TaskScheduler:将task给Executor执行
SparkEnv:县城级别的上下文,存储运行的重要组件引用

上一篇下一篇

猜你喜欢

热点阅读