Spark给我们带来了什么惊喜?

时间:2023-03-09 08:03:15
Spark给我们带来了什么惊喜?

Spark的一站式解决方案有很多的优势,具体如下。
(1)打造全栈多计算范式的高效数据流水线
     Spark支持复杂查询。 在简单的“map”及“reduce”操作之外,Spark还支持SQL查询、流式计算、 机器学习和图算法。 同时,用户可以在同一个工作流中无缝搭配这些计算范式。
(2)轻量级快速处理

Spark 1.0核心代码只有4万行。 这是由于Scala语言的简洁和丰富的表达力,以及Spark充分利用和集成Hadoop等其他第三方组件,同时着眼于大数据处理,数据处理速度是至关重要的,Spark通过将中间结果缓存在内存减少磁盘I/O来达到性能的提升。
(3)易于使用,Spark支持多语言
    Spark支持通过Scala、 Java及Python编写程序,这允许开发者在自己熟悉的语言环境下进行工作。 它自带了80多个算子,同时允许在Shell中进行交互式计算。 用户可以利用Spark像书写单机程序一样书写分布式程序,轻松利用Spark搭建大数据内存计算平台并充分利用内存计算,实现海量数据的实时处理。
(4)与HDFS等存储层兼容
     Spark可以独立运行,除了可以运行在当下的YARN等集群管理系统之外,它还可以读取已有的任何Hadoop数据。 这是个非常大的优势,它可以运行在任何Hadoop数据源上,如Hive、 HBase、 HDFS等。 这个特性让用户可以轻易迁移已有的持久化层数据。
(5)社区活跃度高
     Spark起源于2009年,当下已有超过50个机构、 260个工程师贡献过代码。 开源系统的发展不应只看一时之快,更重要的是支持一个活跃的社区和强大的生态系统。同时我们也应该看到Spark并不是完美的,RDD模型适合的是粗粒度的全局数据并行计算。 不适合细粒度的、 需要异步更新的计算。 对于一些计算需求,如果要针对特定工作负载达到最优性能,还是需要使用一些其他的大数据系统。 例如,图计算领域的GraphLab在特定计算负载性能上优于GraphX,流计算中的Storm在实时性要求很高的场合要比Spark Streaming更胜一筹。