大数据技术概述与Spark简介
- Spark是当前热门的大数据处理技术
- Spark支持采用Scala、Java、Python和R语言进行编程
大数据技术概述
- 第三次信息化浪潮
- 信息科技为大数据时代提供技术支撑
- 存储设备容量不断增加
- CPU处理能力大幅提升
- 网络带宽不断增加
- 大数据概念
1.数据量大
2.数据类型繁多
3.处理速度快
4.价值密度低
**代表性大数据技术:Hadoop ,Spark ,Flink ,Beam **
Hadoop
Spark
- 运行速度快:使用DAG执行引擎以支持循环数据流与内存计算
- 容易使用:支持使用Scala、Java、Python和R语言进行编程,可以通过Spark Shell进行交互式编程
- 通用性:Spark提供了完整而强大的技术栈,包括SQL查询、流式计算、机器学习和图算法组件
- 运行模式多样:可运行于独立的集群模式中,可运行于Hadoop中,也可运行于AmazonEC2等云环境中,并且可以访问HDFS、Cassandra、HBase、Hive等多种数据源
Hadoop与Spark的区别
Hadoop的缺点:
表达能力有限
磁盘IO开销大
延迟高:任务之间的衔接涉及IO开销。在前一个任务执行完成之前,其他任 务就无法开始,难以胜任复杂、多阶段的计算任务
相比于Hadoop MapReduce,Spark主要具有如下优点:
Spark的计算模式也属于MapReduce,但不局限于Map和Reduce操作,还提供了多种数据集操作类型,编程模型比Hadoop MapReduce更灵活
Spark提供了内存计算,可将中间结果放到内存中,对于迭代运算效率更高
Spark基于DAG的任务调度执行机制,要优于Hadoop MapReduce的迭代执行机制
- 使用Hadoop进行迭代计算非常耗资源
- Spark将数据载入内存后,之后的迭代计算都可以直接使用内存中的中间结果作运算,避免了从磁盘中频繁读取数据