Spark主要有以下3个特点:
- spark提供了高级API,开发者只需专注于应用计算本身即可,不用关注集群。
- spark计算速度快,支持交互式计算和复杂算法。
- spark是一个通用引擎,可用它来完成各种运算,包括SQL查询、文本处理、机器学习、实时流处理等。
spark与hadoop的区别和联系
(1)解决问题的方式不同。
hadoop是一个分布式数据基础架构,它将巨大的数据集分派到一个集群中,由其中多个节点进行存储,用户不需要专门购买昂贵的服务器硬件,且hadoop还会对这些数据进行排序和跟踪。
spark则是一个专门用来对分布式存储的大数据进行处理的工具,但它并不会进行分布式数据的存储。
(2)两者可合可分
hadoop不仅提供HDFS的分布式数据存储功能,还提供了mapreduce的数据处理功能,因此用户可以不使用spark,而选择使用hadoop自身的mapreduce对数据进行处理。
spark不一定需要依附在haddop系统中,但spark没有提供文件管理系统,所以spark需要和其他分布式文件系统集成,才能运作。
spark提供生态系统图
(1)spark core提供spark最基础和最核心的功能,它的子框架包括spark SQL、Spark Streaming、MLlib和GraphX。
(2)Spark SQL 是一种结构化的数据处理模块,提供一个称为DataFrame的编程抽象,可作为分布式SQL查询引擎。
(3)spark streaming 是spark API的核心存在可达到超高通量的扩展,可处理实时数据流的数据并容错。
(4)GraphX是Spark 上分布式图形处理架构,可用于图表计算。