点燃火花|点燃文档

点燃2023年峰会-按需观看-立即注册!

编辑

火花点火

Apache Ignite是一个用于高性能计算的分布式数据库,具有内存速度,Apache Spark用户使用它来:

  • 大规模实现真正的内存性能,避免数据从数据源移动到Spark工作人员和应用程序。

  • 提高DataFrame和SQL性能。

  • 更容易在Spark作业之间共享状态和数据。

Spark集成

点燃RDD

Apache Ignite提供了Spark RDD的实现,它允许在内存中以RDD的形式在Spark作业之间共享任何数据和状态。Ignite RDD在Ignite中跨不同的Spark作业、工作线程或应用程序提供内存中相同数据的共享、可变视图。无法在Spark作业或应用程序之间共享本机Spark RDD。

一种方式点火器DD是作为分布式点火表(又称缓存)上的视图实现的。它可以与Ignite节点一起部署在Spark作业执行过程中、Spark工作机上或单独的Ignite集群中。这意味着,根据所选的部署模式,共享状态可能仅在Spark应用程序的生命周期内存在(嵌入式模式),也可能在Spark应用程序的生存期之外存在(独立模式)。

虽然Apache SparkSQL支持相当丰富的SQL语法,但它没有实现任何索引。因此,Spark查询可能需要几分钟的时间,即使是在适度小的数据集上,因为它们必须进行完整的数据扫描。使用Ignite,Spark用户可以配置一级和二级索引,从而获得1000倍的性能提升。

点燃数据帧

Apache Spark DataFrame API引入了模式的概念来描述数据,允许Spark管理模式并将数据组织为表格格式。简单地说,DataFrame是组织到命名列中的分布式数据集合。它在概念上等同于关系数据库中的表,并允许Spark利用Catalyst查询优化器生成比RDD更高效的查询执行计划,RDD只是跨集群节点划分的元素集合。

点火膨胀数据帧,无论何时将Ignite用作Spark的以内存为中心的存储,都可以简化开发并缩短数据访问时间。优点包括:

  • 通过向Ignite写入和从Ignite读取DataFrames,在Spark作业之间共享数据和状态的能力。

  • 通过使用Ignite SQL引擎优化Spark查询执行计划,加快SparkSQL查询速度,该引擎包括高级索引,并避免数据在网络上从Ignite移动到Spark。

支持的Spark版本

Apache Ignite附带两个模块,支持不同版本的Apache Spark:

  • ignite-spark-ext 1.0.0-与spark 2.3集成

  • ignite-spark-ext 2.0.0-与spark 2.4集成