Spark
发布人:张子卓  发布时间:2019-12-12   浏览次数:1652

官方网站链接:http://spark.apache.org/

简介

Spark是一个围绕速度、易用性和复杂分析构建的大数据处理框架。除了MapReduce操作之外,它还支持SQL查询,流数据,机器学习和图表数据处理。

Spark可以将Hadoop集群中的应用在内存中的运行速度提升100倍,甚至能够将应用在磁盘上的运行速度提升10倍。

应用场景

Spark是一个通用内存并行计算框架,它可以做很多类型的数据处理:批处理,SQL查询,流式处理以及机器学习等。

功能特性

1.        弹性内存分布式数据集

在大数据领域,处理速度是至关重要的。Spark采用减少对磁盘的读写次数的方式,把中间处理数据存储在内存中,只有在需要的时候才传输给磁盘。这将减少大多数数据处理的磁盘读写,而这正是最消耗时间的因素。

2.        多开发语言支持

Spark允许你用JavaScala或是Python快速编写应用程序。有助于让用户使用各自所熟悉的编程语言来创建并执行应用程序。它自带一个内置指令集,支持80多个高级操作符。用户可以用它在Shell中对数据进行交互式的查询。

3.        支持SQL标准

除了简单的MapReduce操作操作,Spark还支持SQL查询。

4.        支持多种数据源

Spark可以独立运行。除此之外,它可以在YARN集群管理器上运行,并且能读取任何已有Hadoop数据,如HBaseHDFS等。

5.        增强的读取Parquet性能

Parquet是在Spark最常用的数据格式。Parquet读取性能对海量数据应用有着极其重大的影响。Insight HD Spark组件采用一种新型的Parquet Reader读取器,使用更加优化的字节码路径来解析ParquetSchemas。在基准测试中可以发现,新型的Parquet Reader读取器读取Parquet文件有 50%的性能提升。

6.        增强的内存管理

Spark静态地把内存划分成两部分:Execution memory Cache memoryExecution memory主要用来做sorthashshuffCache memory是用来缓存热点数据的。Insight HD Spark引进新的内存管理机制能自动调节这两种内存的区域,运行时自动增长,回收时根据执行的应用适时进行。因此在无需用户干预的情况下,内存的自适应有比较大幅的提升。

7.        增强的Streaming State Management性能

State ManagementSpark Streaming应用开发里重要的功能,经常用来保存聚合信息或Session信息。Insight HD Spark重新设计了State Management API,并引入MapWithState API(可随Updates的数目线性扩展)。这就能更有效的跟踪增量变化,而不是每次Update都要对数据进行一次全Scan


 
copyright@2022长安大学 | 高性能计算平台