博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
spark 是什么(一)
阅读量:7073 次
发布时间:2019-06-28

本文共 1568 字,大约阅读时间需要 5 分钟。

hot3.png

1.spark 是什么?

spark是一个用来实现快速而通用的集群计算的平台

他的一个主要特点是能够在内存中计算,因而更快。不过即使是必须在磁盘上进行的复杂计算,spark依然比MapReduce更加高效。

总的来说,spark适用于各种各样原先需要多种不同的分布式平台的场景,包括批处理、迭代算法、交互式查询、流处理。通过一个统一的框架支持这些不同的计算,spark可以简单低耗的把这些处理流程整合在一起。 因此spark的核心引擎由这通用和速度快的特点。

1.2 spark 的各个组件

 

下面分别介绍各个组件:

1.2.1 spark core

spark core实现了spark的基本功能,包含任务调度、内存管理、错误回复、与存储交互等模块。spark core中还包含了对弹性分布式数据集(resilient distributed dataset) 简称RDD 的api定义。RDD表示分布分布在多个计算节点上可以并行操作的元素集合,是spark主要的编程抽象。spark core提供了创建和操作这些集合的多个api。

1.2.2 spark sql

spark sql 是用来操作结构化数据的程序包。通过spark sql我们可以使用sql或者Apache Hive 版本的sql方言来查询数据。spark sql支持多种数据源,比如Hive表、Paquet以及Json等。开发这都可以在单个的应用中同时使用sql和复杂的数据分析。

1.2.3 spark streaming

spark streaming 是spark提供的对实时数据进行流式计算的组件。比如生产环境中的网页服务器izhi,或者是网络服务中用户提交的状态更新组成的消息队列,都是数据流。spark streaming提供了用来操作数据流的api,并且与spark core中的RDD api高度对应。这样无论是操作内存或者是硬盘,或者是实时数据流,都能应对自如。从底层设计来看,spark streaming 支持与spark core同级别的容错行,吞吐量以及可伸缩性。

1.2.4 Mlib

这是一个常见机器学习ML功能的程序库,叫做MLib。Mlib提供了很多中机器学习算法,包括分类、回归、聚类、协同过滤等。

1.2.5 GraphX

GraphX 是用来操作图)(比如社交网络的朋友关系图)的程序库,可以进行并行的图计算。与spark streaming和spark sql类似,GraphX也扩展了spark的RDD api,能用来创建一个顶点和边都包含任意属性的有向图。GraphX还支持针对图的各种操作,比如图分割,和操作所有定点,以及常用图算法。

 

1.2.6 集群管理器

就底层而言,spark设计可以高效的在一个计算节点到术前个计算节点之间伸缩的计算,spark灵活的支持在各种集群管理器上运行,包括Hadoop YARN,Apache Mesos,以及spark自带的一个简易的调度器。如果要在没有安装任何集群管理器上安装spark,那么spark自带的独立调度器可以让你轻松入门,而如果在已经安装了Hadoop YARN 或者Mesos的集群,你的应用同样可以流畅的运行在机器上。

 

1.3 spark 简史

spark是由一个强大而活跃的开源社区开发和维护的。2009年作为一个研究项目在加州大学伯克利分校RAD实验室诞生。spark一开始是为交互式查询和迭代算法设计的,同时还支持内存式存储和高效的容错机制。

2009年诞生

2010年3月开源

2013年6月交给了apache基金会,现在已经成为了apache下面的顶级项目

 

 

 

 

 

 

 

 

 

 

 

 

转载于:https://my.oschina.net/u/2561483/blog/693407

你可能感兴趣的文章
Spring MVC入门
查看>>
Linux vim 命令
查看>>
rsyslog + mysql
查看>>
activePerl的PPM如何使用http代理
查看>>
linux下ntp时间服务器搭建
查看>>
Varnish调优手记
查看>>
2015.12.30 日学习总结
查看>>
我的友情链接
查看>>
携程一万亿交易额的市场逻辑
查看>>
linux ftp 服务配置
查看>>
各消息队列对比,Kafka深度解析,众人推荐,精彩好文!
查看>>
二叉查找树转双向链表JAVA实现
查看>>
自动化Oracle数据库静默安装
查看>>
买二手房不如买新房
查看>>
C#学习基本概念之Tuple类(元组、重数)
查看>>
写一个简易的shell脚本(二)
查看>>
[ solr入门 ] - 利用solrJ进行检索
查看>>
cad提供的坐标转换
查看>>
Unity3D加密外壳如何做到防止反编译?
查看>>
mysql b+ tree 3阶索引能存多少数据
查看>>