写点什么

苹果开源一个可提升 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:468060

评论

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

毕昇JDK:为啥是ARM上超好用的JDK

华为云开发者联盟

Java 华为 jdk Openjdk 毕昇 JDK

2021年最新版Java后端最全面试攻略,全面对标BATJ

Java 程序员 架构 面试

一个超牛逼的 GitHub 项目,标星高达55.3Kstar,附项目源代码

Java架构师迁哥

程序员需要了解数据库知识么?

escray

学习 极客时间 朱赟的技术管理课 6月日更

油管视频下载: 如何下载油管视频到本地

科技猫

分享 教程 经验 油管视频下载 下载油管视频

福利时刻 十年黑客大佬的Web安全渗透技术分享

学神来啦

Linux 黑客 安全 运维自动化

Kubernetes学习笔记之Calico CNI Plugin源码解析(二)

360技术

《原则》(九)

Changing Lin

6月日更

深入分析Linux操作系统对于TCP/IP栈的实现原理与具体过程

奔着腾讯去

c++ socket 网络协议

24道几乎必问的JVM面试题,我只会7道,你能答出几道?

北游学Java

Java 面试 JVM

准备3个月,面试10分钟,Java中高级岗面试为何越来越难?

Java架构师迁哥

在外包5年,每天读写删改,突然发现跳不出来了

Java架构师迁哥

本文是为了帮大家快速回顾了Java中高级知识点,只需收藏不用看!

Java架构师迁哥

上架Steam一周的付费游戏,开源了!其实你能“薅”的不止一只羊

程序员生活志

基于传感器的人体生命体征监控技术

不脱发的程序猿

物联网 传感器 智能医疗 人体生命体征监控技术

我人生的里程碑之【作为独立开发者,第一次承接外包项目的心得经历,也许说出你的心声哦!】

码界西柚

程序人生 6月日更

开源之夏来啦,欢迎报名 Apache APISIX 项目!

API7.ai 技术团队

开源 后端 技术人生 API 网关

centos7使用

xujiangniao

Linux

超全!阿里首发内部微服务架构笔记,再也不用为“微服务”苦恼了

Java架构师迁哥

大厂招聘程序员都是“有章可循”你Get到了吗?

Java架构师迁哥

阿里云官方出品:全面总结阿里云云原生架构方法论与实践经验

尹文敏

云计算 阿里云 云原生

Flink + Iceberg 在去哪儿的实时数仓实践

Apache Flink

flink

创业邦南立新:搭建创新生态,是奔向万亿美金市值的必经之路

创业邦

用 CloudQuery 管理和操作数据库,更高效更安全

BinTools图尔兹

运维 dba 数据库管理工具

☕️【Java 技术之旅】带你一起攻克String类创建的难点分析

码界西柚

Java string pool string 6月日更

如何判断老板是在给员工画饼?

石云升

创业 职场经验 6月日更

涵盖了所有计算机底层知识总结与操作系统的实战教程,你确定不看看吗

Java架构师迁哥

从零开始学习3D可视化之模型动画

ThingJS数字孪生引擎

可视化 模型 大屏可视化 数字时代 3D可视化

建信金科大咖访谈:ISO20000及ISO27001标准体系解读

金科优源汇

阿里工作8年,肝到P8就剩这份学习笔记了,已助朋友拿到10个Offer

Java 程序员 架构 面试

面试官:如何给字符串设计索引?

一个优秀的废人

MySQL 索引 字符串 索引优化

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