1
spark是大数据时代的产物,可以基于hdfs存储的海量数据,分布式的处理各个数据节点上的任务。spark将大型计算任务分解为有向无环图,按照拓扑顺序执行图中的task,配合yarn的调度能充分有效的利用分布式系统的计算资源(主要是cpu和内存)。spark相对于mapreduce的改进是可以基于内存计算(内存不够的再存磁盘),而mapreduce是基于磁盘的计算,因此spark计算速度是相当快的,可以将普通mapreduce的耗时压缩数10倍,我们日常工作中可以早点处理完数据提前下班。
大数据的场景下如果用传统的mysql数据库通过sql查询需要费很大精力去分库分表,维护数据,还得经常面临数据库查询慢的问题,还是得有基于hdfs的数据仓库,使用spark来做数据处理,快使用spark吧!
2
Spark 特点
- 开源的集群云计算框架
- 端到端的数据分析平台(可视化监控)
- 相较于Hadoop map reduce 在功能性能上都更进一步
- 可以单例模式也可以集群模式
- Streaming 处理数据(实时数据接收处理)
- 支持多语言:Scala/python/java/R
- Amazon,eBay, Yahoo 使用Spark
- 丰富的库:Grahp, SQL, ML, Streaming
- 多种管理框架可选择(Yarn, mesos)
基于内存的计算
- 当我们需要读取数据来分析时,它已经在运行中,我们可以很容易地检索它。
- 有利于实时风险管理和欺诈检测。
- 缓存了大量数据,数据变得高度可访问。
- 系统的计算速度提高。
- 改进复杂事件处理,基于 DAG 图的 task 和 Lazy evaluation 。
Spark 数据分析流程
我是工作多年的大数据攻城狮一枚,相关问题可以在评论区留言,或者私信我!
3
大数据现在很火,也是未来的趋势。经过这几年的发展,不管是企业在职人士,还是在校大学生朋友,都意识到了大数据学习的重要性。大数据技术目前的人才很少,学习大数据出来之后的工资普遍高于其它技术。
Spark是基于内存的迭代计算框架,适用于需要多次操作特定数据集的应用场合。需要反复操作的次数越多,所需读取的数据量越大,受益越大,数据量小但是计算密集度较大的场合,受益就相对较小(大数据库架构中这是是否考虑使用Spark的重要因素)。