Nor*_*mal 31 apache-spark ignite
目前我正在研究Apache spark和Apache点燃框架.
本文描述了它们之间的一些原理差异点燃火花但我意识到我仍然不理解它们的目的.
我的意思是哪个问题比点燃更可取,反之亦然?
Val*_*nko 37
我想说Spark是交互式分析的好产品,而Ignite更适合实时分析和高性能事务处理.Ignite通过提供高效且可扩展的内存中键值存储以及索引,查询数据和运行计算的丰富功能来实现这一目标.
Ignite的另一个常见用途是分布式缓存,它通常用于提高与关系数据库或任何其他数据源交互的应用程序的性能.
Nay*_*rma 18
Apache Ignite是一个高性能,集成和分布式内存平台,用于实时计算和处理大规模数据集.Ignite是一个与数据源无关的平台,可以在RAM中的多个服务器之间分发和缓存数据提供前所未有的处理速度和海量应用程序可扩展性
Apache Spark(集群计算框架)是一种快速的内存数据处理引擎,具有富有表现力的开发API,允许数据工作者有效地执行需要快速迭代访问数据集的流,机器学习或SQL工作负载.通过允许用户程序将数据加载到集群的内存中并重复查询,Spark非常适合高性能计算和机器学习算法.
一些概念差异:
Spark不存储数据,它从其他存储(通常是基于磁盘)加载数据以进行处理,然后在处理完成时丢弃数据.另一方面,Ignite提供具有ACID事务和SQL查询功能的分布式内存中键值存储(分布式缓存或数据网格).
Spark用于非事务性的只读数据(RDD不支持就地突变),而Ignite支持非事务性(OLAP)有效负载以及完全符合ACID的事务(OLTP)
Ignite完全支持可以"无数据"的纯计算有效载荷(HPC/MPP).Spark基于RDD,仅适用于数据驱动的有效负载.
结论:
Ignite和Spark都是内存计算解决方案,但它们针对不同的用例.
在许多情况下,它们一起使用以获得优异的结果:
Ignite可以提供共享存储,因此状态可以从一个Spark应用程序或作业传递到另一个.
Ignite可以为SQL提供索引,因此Spark SQL可以加速超过1,000x(spark不会索引数据)
使用文件而不是RDD时,Apache Ignite内存文件系统(IGFS)也可以在Spark作业和应用程序之间共享状态
是的,Spark和Ignite可以一起工作。

点燃与火花
Ignite是一个内存分布式数据库,更侧重于数据存储并处理数据的跨国更新,然后为客户请求提供服务。Apache Spark是MPP计算引擎,它更倾向于分析,ML,Graph和ETL特定的有效负载。
Apache Spark是通用集群计算系统。这是一种优化的引擎,支持常规执行图。它还支持丰富的高级工具集,包括用于SQL和结构化数据处理的Spark SQL,用于机器学习的MLlib,用于图形处理的GraphX和Spark流。


Ignite是一个以内存为中心的分布式数据库,缓存和处理平台,用于跨国,分析和流式处理工作负载,可提供PB级的内存速度。Ignite还包括对群集管理和操作,可感知群集的消息传递和零部署技术的一流支持。Ignite还为跨内存和可选数据源的完整ACID事务提供支持。

