赞
踩
Hadoop | spark |
---|---|
在分布式服务器集群上存储海量数据并运行分布式应用的开源框架 | 快速、通用、易扩展的大数据分析计算引擎 |
hdfs作为分布式存储系统存储所有数据,支持Hadoop的所有服务 | spark core提供最基础、最核心的功能 |
MapReduce是编程模型,作为Hadoop的分布式计算模型,是Hadoop的核心 | spark sql是spark操作结构化数据的组件 |
HBase是基于hdfs的分布式数据库 | spark streaming是针对实时数据进行刘计算的组件,提供了丰富的处理数据对API |
mapreduce | spark | |
---|---|---|
数据存储机构 | 磁盘hdfs文件系统 | 使用内存构建弹性分布式数据集,rdd对数据进行运算和缓存 |
编程范式 | Map—Reduce | DAG(有向无环图) |
中间结果存储 | 中间结果落地磁盘,IO及序列化、反序列化代价比较大 | 中间结果存储于内存 |
运行方式 | task以进程方式维护,任务启动慢 | task以县城方式维护,进程启动快 |
很多任务都能秒级完成,与Hadoop相比,spark基于内存的计算快100倍,基于硬盘的计算快10倍
spark支持使用Scala、Java、python、R、sql等多种语言,同时支持80多种高级算法,用户可以快速构建不用的应用;
支持交互式的python和spark的shell
容纳了很多之前独立的、分布式系统所拥有的功能:批处理、迭代计算、交互查询、实时流计算、机器学习、图计算等。这些不同类型的处理可以在一个应用中使用,减少了开发和维护的成本,并且,之前需要维护不同的集群,现在只需要维护一个spark集群
数据源:spark可以从任意地方读取数据,比如hdfs、json、csv、Parquet、RDBs、ES、Redis、Kafka等
应用程序运行:
Spark core为核心部分,包含了Spark最基本、最核心的功能和基本分布式算子,基本功能有:任务调度、内存管理、故障修复以及和存储系统的交互
RDD:一个只读的,可分区的分布式数据集(分布式弹性数据集)。这个数据集的全部或部分课缓存在内存中,在多次计算间重用
Spark SQL:用于分布式结构化数据的SDL查询和分析,在编写程序中,可直接使用SQL语句
Spark Streaming:用于处理流数据的分布式流处理框架,它将数据以时间片为单位进行分割形成RDD,能够以比较小的时间间隔对流数据进行处理,严格意义上说是一个准实时处理系统
Mllib:分布式机器学习库,在spark平台上对一些常用的机器学习算法进行分布式实现
Graph X:分布式图处理框架,在Spark上实现了大规模图计算的功能,提供对图计算和图挖掘的各种接口
紧密集成的优点:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。