当前位置:首页 >焦点 >比Spark快100倍的GPU加速SQL引擎!BlazingSQL开源了 引源并且完全运行在 GPU 之上

比Spark快100倍的GPU加速SQL引擎!BlazingSQL开源了 引源并且完全运行在 GPU 之上

2024-07-01 11:42:57 [百科] 来源:避面尹邢网

比Spark快100倍的快倍L开GPU加速SQL引擎!BlazingSQL开源了

作者:蔡芳芳 新闻 开源 Spark BlazingSQL 是加速基于英伟达 RAPIDS 生态系统构建的 GPU 加速 SQL 引擎,可以为各种 ETL 大数据集提供 SQL 接口,引源并且完全运行在 GPU 之上。快倍L开

BlazingSQL 是加速基于英伟达 RAPIDS 生态系统构建的 GPU 加速 SQL 引擎,可以为各种 ETL 大数据集提供 SQL 接口,引源并且完全运行在 GPU 之上。快倍L开近日,加速其研发团队 宣布,引源BlazingSQL 基于 Apache 2.0 许可完全开源!快倍L开 

开源项目地址:

比Spark快100倍的GPU加速SQL引擎!BlazingSQL开源了 引源并且完全运行在 GPU 之上

https://github.com/blazingdb/pyBlazing/

比Spark快100倍的GPU加速SQL引擎!BlazingSQL开源了 引源并且完全运行在 GPU 之上

关于 BlazingSQL

比Spark快100倍的GPU加速SQL引擎!BlazingSQL开源了 引源并且完全运行在 GPU 之上

比Spark快100倍的引源GPU加速SQL引擎!BlazingSQL开源了

BlazingSQL 是快倍L开一个基于英伟达 RAPIDS 生态系统构建的 GPU 加速 SQL 引擎。RAPIDS 包含一组软件库(BlazingSQL、加速cuDF、引源cuML、cuGraph),用来在 GPU 上执行端到端的数据科学计算和分析管道。RAPIDS 基于 Apache Arrow 列式存储格式,其中 cuDF 是一个 GPU DataFrame 库,用于加载、连接、聚合、过滤和操作数据。BlazingSQL 是面向 cuDF 的 SQL 接口,具备支持大规模数据科学工作流和企业数据集的各种功能。

官方称,BlazingSQL(几乎)可以处理任何你想要的数据。它的前身是 BlazingDB,但因为它并不是一个数据库,所以研发团队将 BlazingDB 改名为 BlazingSQL。

BlazingSQL 主要特性:

  • 查询外部存储数据 :仅需一行代码就可以注册远程存储解决方案,例如 Amazon S3。
  • 简单的 SQL:非常容易使用,运行 SQL 查询就能得到 GPU DataFrames(GDF)的查询结果。
  • 互操作性:任意一个 RAPIDS 库都可以访问查询到的 GDF,并用于任意的数据科学工作负载。

BlazingSQL 解决的痛点

  • 价格昂贵:进行大规模数据科学研究通常需要包含数千台服务器的集群,而 BlazingSQL + RAPIDS 运行相同规模的工作负载只需要其中一小部分基础设施。
  • 速度慢:在大型数据集上运行工作负载和查询可能需要数小时或数天,而 BlazingSQL + RAPIDS 借助 GPU 加速可以在几秒内得到结果,帮助数据科学家快速迭代新模型。
  • 复杂型:数据科学工作负载通常基于小数据集开发出原型,然后针对分布式系统进行重建。BlazingSQL + RAPIDS 让用户能够只编写一次代码,并且只需要一行代码就能动态地改变分布式集群规模。

在开发团队看来,迄今为止,SQL 是每一个主流分析生态系统的支柱之一,RAPIDS 是下一代分析生态系统,而 BlazingSQL 是 RAPIDS 的 SQL 标准。

BlazingSQL 完全基于 cuDF 和 cuIO 构建,这些项目的新功能会直接影响 BlazingSQL 的功能和性能。同时,由于 BlazingSQL 运行在 GDF 上,它与 RAPIDS 的所有库都是 100%可互操作的。

如果你正在使用 RAPIDS,或者正在考虑使用 RAPIDS,BlazingSQL 将为你提供更多便利,包括但不限于:

  • 降低代码复杂性:SQL 语句非常简单,你可以用单个语句替换数十到数百个 cuDF 函数调用。
  • 连接到数据湖:你不再需要同步其他数据库,BlazingSQL 可以查询云端或网络文件系统中的任意原始文件。
  • 让 RAPIDS 变得更快:更先进的 SQL 优化器让 RAPIDS 技术栈更智能地运行。

BlazingSQL 性能表现

目前,BlazingSQL+RAPIDS 已经上线 Google Colab,研发团队在 GCP 上搭建了两个价格相当的集群,一个用于 Spark,另一个用于 BlazingSQL。他们在集群上运行端到端的数据分析工作负载:从数据湖到 ETL/ 特征工程,再到 XGBoost 训练,并对 Spark 和 BlazingSQL 的性能进行了对比测试。

研发人员在超过两千万行 Netflow 数据上运行两次相同的特定工作负载。首先运行 BlazingSQL + RAPIDS,然后使用 PySpark(Spark 2.4.1)再次运行,得到如下结果:

如果把从 Google Drive 中加载 CSV 到各自 DataFrame 所需的时间考虑在内,BlazingSQL 比 Spark 快 71 倍。

比Spark快100倍的GPU加速SQL引擎!BlazingSQL开源了

越小越好

如果只看 ETL 时间,则 BlazingSQL 和 RAPIDS 的速度比 Spark 快 100 倍!

比Spark快100倍的GPU加速SQL引擎!BlazingSQL开源了

越小越好

运行以下 Colab 演示,用户可以使用免费英伟达 T4 GPU 资源进行同样的测试,对 BlazingSQL 的实际效果进行验证:

https://colab.research.google.com/drive/1EbPE9FwFur7fE2054BH9s23Kd0FiUgGo

据 介绍,BlazingSQL 大部分性能提升来自团队的内部引擎项目,BlazingSQL 团队的工程师们希望开发一种专为 GPU DataFrames(GDF)构建的 GPU 执行内核,称之为“SIMD 表达式解释器”(SIMD Expression Interpreter)。研发团队分享了一些关于 SIMD 表达式解释器的细节,SIMD 表达式解释器通过几个关键步骤带来提升性能:

  1. 接收多个输入,包括 GDF 列、字面量,在不久的将来也会支持函数。
  2. 在加载这些输入时,SIMD 表达式解释器将对 GPU 寄存器的分配进行优化,这可以优化 GPU 线程占用率,并提高性能。
  3. 然后,虚拟机处理这些输入,并生成多个输出。假设有以下 SQL 查询:
  1. SELECT colA + colB * 10,sin(colA) - cos(colD)FROM tableA 

在以前,BlazingSQL 会将这条查询语句转换为 5 个操作(+,*,sin,cos, - ),每个操作都需要单独执行。在使用 SIMD 表达式解释器后,它会同时接收(colA、colB、colD)作为输入,并在单次内核执行中执行所有 5 个操作,最终生成两个输出。这意味着 colA 只需要加载一次,而不是两次。

目前,SIMD 表达式解释器支持 BlazingSQL 的过滤和投影,因此它对许多主流的 SQL 查询都有影响。

如何使用 BlazingSQL

使用 BlazingSQL 在 Amazon S3 中查询 CSV 文件的示例代码:

  1. from blazingsql import BlazingContext 
  2. bc = BlazingContext() 
  3.  
  4. bc.s3('dir_name', bucket_name='bucket_name', access_key_id='access_key', secrect_key='secret_key') 
  5.  
  6. # Create Table from CSV 
  7. bc.create_table('taxi', '/dir_name/taxi.csv') 
  8.  
  9. # Query 
  10. result = bc.sql('SELECT count(*) FROM taxi GROUP BY year(key)').get() 
  11. result_gdf = result.columns 
  12.  
  13. #Print GDF 
  14. print(result_gdf) 

更多 BlazingSQL 的操作方法参见:

GitHub 项目链接:https://github.com/blazingdb/pyBlazing/

官方网站:https://docs.blazingdb.com/docs/using-blazingsql

责任编辑:张燕妮 来源: AI前线 开源技术 趋势

(责任编辑:娱乐)

    推荐文章
    • 恒嘉融资租赁(00379.HK)预计年度亏损扩大至3亿

      恒嘉融资租赁(00379.HK)预计年度亏损扩大至3亿恒嘉融资租赁(00379.HK)公告,公司预计截至2020年12月31日止年度将录得重大净亏损约3亿港元至4亿港元,相较于上年度净亏损约5100万港元。董事会认为,预期净亏损增加主要由于以下原因:(i ...[详细]
    • 【净水百科】家用RO反渗透纯水机

      【净水百科】家用RO反渗透纯水机反渗透纯水机是一种集微滤、吸附、超滤、反渗透、紫外杀菌、超纯化等技术于一体,将自来水直接转化为超纯水的装置1、家用反渗透纯水机简介反渗透纯水机是一种集微滤、吸附、超滤、反渗透、紫外杀菌、超纯化等技术于 ...[详细]
    • 红色龙卷风温暖来袭 首届众创空间圣诞集市惊现魔都

      红色龙卷风温暖来袭  首届众创空间圣诞集市惊现魔都圣诞将近,魔都各大圣诞集市纷纷登场。最近刚刮完一阵紫色风暴的COCO SPACE近期正在掀起一阵暖冬红色龙卷风!一场为创业者而生的圣诞集市,一次以创业为荣的3天持续狂欢!今年圣诞去哪儿?在一起,干大事 ...[详细]
    • 智能家庭小伙伴! 乐橙小乐体验评测

      智能家庭小伙伴! 乐橙小乐体验评测由于国内二胎政策的开放,许多家庭中的小宝宝也开始增加,据国家卫生计生委预测,二胎政策放开后,中国短期内出生人口将明显增加,到2020年左右约有1700万人出生。目前也有部分厂商看准了婴幼儿市场,推出了 ...[详细]
    • 微粒贷分两次借款怎么还 具体情况是怎样的?

      微粒贷分两次借款怎么还 具体情况是怎样的?微粒贷是微众银行推出的信用贷款,借款人可以直接在微信钱包上申请。有不少人在微粒贷不止借了一次,不知道是分开还款还是要在同一天内还款。那么,微粒贷分两次借款怎么还?这里就来介绍下微粒贷还款相关内容。微粒 ...[详细]
    • 掌上健身新玩法 @中体倍力一键直达

      掌上健身新玩法 @中体倍力一键直达移动时代,手机等智能产品的功能正在被无限放大,除了娱乐、社交、阅读外,你能想象,手机上还能运动健身吗?11月18日,百度携手中体倍力健身俱乐部正式开通直达号,用户只需要在百度移动搜索中输入“@中体倍力 ...[详细]
    • 暴风魔镜正式预售,99元价格砸烂虚拟现实门槛

      暴风魔镜正式预售,99元价格砸烂虚拟现实门槛暴风影音在9月1日发布虚拟现实眼镜——暴风魔镜后,宣布将于9月9日9时在暴风官网正式启动预售,首批预售5万部,售价99元。暴风魔镜9月9日9点正式预售)据悉,首批预售每购买一部正式版暴风魔镜都会获赠一 ...[详细]
    • 七牛开发者最佳实践日第四期:云上的未来生活

      七牛开发者最佳实践日第四期:云上的未来生活如果说互联网之前的所有进步都会让人觉得科技是一件离生活很远的事情,那么智能硬件的发展恰恰改变了这种观念:让科技变得触手可及。从此,互联网不再意味令人眼花缭乱的界面,它可能只是平时每天都用到的家用电器。 ...[详细]
    • 分期乐提额没有公积金怎么办 具体方法有哪些?

      分期乐提额没有公积金怎么办 具体方法有哪些?分期乐是采用先授信再借钱模式,借款人出了额度才能借钱,如果对额度不满意还可以向分期乐申请提额,像有公积金的可以认证公积金提额。不过并不是每个人都有交公积金,那么分期乐提额没有公积金怎么办?这里就给大家 ...[详细]
    • 智能规划好管家 米家智能扫地机器人剁手节特价1699

      智能规划好管家 米家智能扫地机器人剁手节特价1699智能规划好管家 米家智能扫地机器人11.11特价1699一款靠谱的智能扫地机器人对于家庭用户来说是非常实用的,它能够极大得减轻家庭清洁的辛劳。小米智能扫地机器人就是这样一款产品,目前京东售价仅为169 ...[详细]
    热点阅读