写点什么

苹果开源一个可提升 Apache Spark 向量处理速度的插件

  • 2024-02-23
    北京
  • 本文字数:1152 字

    阅读完需:约 4 分钟

大小:543.00K时长:03:05
苹果开源一个可提升Apache Spark向量处理速度的插件

本文最初发布于 THENEWSTACK。



消费电子巨头苹果公司发布了一个开源插件,可以帮助Apache Spark更有效地执行向量搜索,使开源数据处理平台在大规模机器学习数据处理方面变得更有吸引力。

 


 (点击查看大图)

 

这个基于Rust的插件名为Apache Spark DataFusion Comet。苹果工程师已经将其提交给了Apache软件基金会,使其成为Apache Arrow项目下的一个子项目。该插件是以可扩展的Apache DataFusion查询引擎(也是用Rust编写的)和Arrow列式数据格式为基础构建的。

 

“我们的目标是通过将 Spark 的物理计划执行委托给 DataFusion 的高度模块化执行框架来加速 Spark 查询执行,同时在 Spark 用户看来语义不变,”苹果软件工程师Chao SunApache邮件列表中解释道。

 

Sun 指出,该项目的功能尚未全部开发完成,但部分功能已经应用于生产环境。

 

Apache Arrow项目管理委员会主席 Andy Grove 在X上指出:“对于最近每个人都在谈论的可组合数据系统概念,这就是一个很好的例子。利用 Spark 非常成熟的计划和调度,并将其委托给 DataFusion 进行本地执行。”

 

Apache Arrow DataFusion Comet 是什么?

利用 Apache Arrow DataFusion 运行时,Comet 可以使用 Apache Arrow 列式格式查询数据。这种方法旨在通过本机向量化执行来改进查询效率和查询运行时。

 

Apache Spark创建于 2010 年,用于处理各种格式化和非格式化结构(“大数据”)中的大量分布式数据

 

向量处理已经成为机器学习社区最受欢迎的技术,因为它可以缩短分析大量数据的时间。

 

Fivetran 高级产品布道师Charles Wang上个月的一篇分析文章中写道,“向量化查询可以操作批量数据并并行处理多个数据元素,改善了分析查询的性能、效率、可扩展性和内存占用。它与列式数据库架构有着千丝万缕的联系,因为它允许将整个列加载到 CPU 寄存器中进行处理。”

 

按照设计,Comet 的特性会与 Spark 保持对等(目前支持 Spark 3.2 到 3.4 版本)。也就是说,无论是否使用 Comet 扩展,用户都可以运行同样的查询。

 

Spark 内置的表达式和操作符(Filter/Project/Aggregation/Join/Exchange)可以在 Comet 中使用,Apache Parquet列式存储格式也可以,无论是读模式还是写模式。

 

Comet 可以在 Linux 或 Mac OS 上运行,需要 JDK 8 及以上版本和 GLIBC 2.17。



 (点击查看大图)

 

其他可加速向量处理的 Spark 插件

软件工程师 Chris Riccomini指出,苹果公司并不是FAANG俱乐部中唯一对向量处理感兴趣的成员。去年,Meta 也发布了自己的 Spark 向量处理项目:Velox

 

类似的项目还包括英特尔的Gluten(最近被接收进入ASF孵化)、英伟达GPU RAPIDS Spark加速器Blaze(也可与Apache Arrow DataFusion搭配使用),以及Ballista分布式 SQL 查询引擎。

 

声明:本文为 InfoQ 翻译,未经许可禁止转载。

 

原文链接:https://thenewstack.io/apple-comet-brings-fast-vector-processing-to-apache-spark

2024-02-23 14:467768

评论

发布
暂无评论
发现更多内容

YashanDB数据库与云计算平台的完美融合

数据库砖家

鸿蒙运动开发实战:打造专属运动视频播放器

王二蛋和他的张大花

鸿蒙

YashanDB数据备份与恢复机制详解

数据库砖家

YashanDB数据加密存储技术保障企业信息安全

数据库砖家

YashanDB数据库与RESTful API的无缝对接

数据库砖家

YashanDB数据库与云平台的无缝集成指南

数据库砖家

YashanDB数据库与主流编程语言集成方法

数据库砖家

YashanDB数据导入导出工具使用教程

数据库砖家

YashanDB数据库与传统数据库的差异探讨

数据库砖家

YashanDB数据库与人工智能结合的创新应用

数据库砖家

YashanDB数据库与人工智能结合的应用前景

数据库砖家

YashanDB数据库与数据湖的完美结合

数据库砖家

YashanDB快速安装与配置教程,助力开发者上手

数据库砖家

YashanDB数据安全审计功能介绍与配置

数据库砖家

YashanDB数据库API接口开发与调用实战

数据库砖家

YashanDB数据库DSL查询语言使用全解析

数据库砖家

YashanDB数据库与人工智能技术的结合探讨

数据库砖家

YashanDB数据库与容器技术的深度融合介绍

数据库砖家

YashanDB数据库与数据仓库的协同工作方式

数据库砖家

YashanDB数据库与数据可视化的完美结合

数据库砖家

YashanDB数据备份:如何有效实现数据安全和恢复?

数据库砖家

YashanDB数据库与容器化技术的深度融合路径

数据库砖家

YashanDB数据库与数据湖的结合发展方向

数据库砖家

YashanDB数据库与微服务架构的结合应用

数据库砖家

YashanDB数据库与云服务集成实用教程

数据库砖家

YashanDB数据备份与恢复功能详细教程

数据库砖家

YashanDB数据加密技术应用,确保企业信息安全

数据库砖家

YashanDB数据库OLTP与OLAP混合负载优化策略

数据库砖家

YashanDB数据库与传统关系型数据库的区别

数据库砖家

YashanDB数据库与云服务的深度集成方案

数据库砖家

YashanDB数据库与微服务架构集成最佳实践分享

数据库砖家

苹果开源一个可提升Apache Spark向量处理速度的插件_实时计算_Joab Jackson_InfoQ精选文章