spark四大组件分别为:1、sparkstreaming,针对实时数据进行流式计算的组件;2、sparksql,用来操作结构化数据的组件;3、graphx,spark面向图计算提供的框架与算法库;4、mllib,一个机器学习算法库。
相关推荐:《编程视频课程》
spark四大组件
1、sparkstreaming:
众多应用领域对实时数据的流式计算有着强烈的需求,例如网络环境中的网页服务器日志或是由用户提交的状态更新组成的消息队列等,这些都是实时数据流。spark streaming是spark平台上针对实时数据进行流式计算的组件,提供了丰富的处理数据流的api。由于这些api与spark core中的基本操作相对应,因此开发者在熟知spark核心概念与编程方法之后,编写spark streaming应用程序会更加得心应手。从底层设计来看,spark streaming支持与spark core同级别的容错性、吞吐量以及可伸缩性。
2、sparksql:
spark sql是spark用来操作结构化数据的组件。通过spark sql,用户可以使用sql或者apache hive版本的sql方言(hql)来查询数据。spark sql支持多种数据源类型,例如hive表、parquet以及json等。spark sql不仅为spark提供了一个sql接口,还支持开发者将sql语句融入到spark应用程序开发过程中,无论是使用python、java还是scala,用户可以在单个的应用中同时进行sql查询和复杂的数据分析。由于能够与spark所提供的丰富的计算环境紧密结合,spark sql得以从其他开源数据仓库工具中脱颖而出。spark sql在spark l.0中被首次引入。在spark sql之前,美国加州大学伯克利分校曾经尝试修改apache hive以使其运行在spark上,进而提出了组件shark。然而随着spark sql的提出与发展,其与spark引擎和api结合得更加紧密,使得shark已经被spark sql所取代。
3、graphx:
graphx是spark面向图计算提供的框架与算法库。graphx中提出了弹性分布式属性图的概念,并在此基础上实现了图视图与表视图的有机结合与统一;同时针对图数据处理提供了丰富的操作,例如取子图操作subgraph、顶点属性操作mapvertices、边属性操作mapedges等。graphx还实现了与pregel的结合,可以直接使用一些常用图算法,如pagerank、三角形计数等。
4、mllib:
mllib是spark提供的一个机器学习算法库,其中包含了多种经典、常见的机器学习算法,主要有分类、回归、聚类、协同过滤等。mllib不仅提供了模型评估、数据导入等额外的功能,还提供了一些更底层的机器学习原语,包括一个通用的梯度下降优化基础算法。所有这些方法都被设计为可以在集群上轻松伸缩的架构。
想要查阅更多相关文章,请访问!!
以上就是spark四大组件是什么?的详细内容。