自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

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

新聞 開源 Spark
BlazingSQL 是基于英偉達 RAPIDS 生態(tài)系統(tǒng)構(gòu)建的 GPU 加速 SQL 引擎,可以為各種 ETL 大數(shù)據(jù)集提供 SQL 接口,并且完全運行在 GPU 之上。

BlazingSQL 是基于英偉達 RAPIDS 生態(tài)系統(tǒng)構(gòu)建的 GPU 加速 SQL 引擎,可以為各種 ETL 大數(shù)據(jù)集提供 SQL 接口,并且完全運行在 GPU 之上。近日,其研發(fā)團隊 宣布,BlazingSQL 基于 Apache 2.0 許可完全開源! 

開源項目地址:

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

關(guān)于 BlazingSQL

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

BlazingSQL 是一個基于英偉達 RAPIDS 生態(tài)系統(tǒng)構(gòu)建的 GPU 加速 SQL 引擎。RAPIDS 包含一組軟件庫(BlazingSQL、cuDF、cuML、cuGraph),用來在 GPU 上執(zhí)行端到端的數(shù)據(jù)科學(xué)計算和分析管道。RAPIDS 基于 Apache Arrow 列式存儲格式,其中 cuDF 是一個 GPU DataFrame 庫,用于加載、連接、聚合、過濾和操作數(shù)據(jù)。BlazingSQL 是面向 cuDF 的 SQL 接口,具備支持大規(guī)模數(shù)據(jù)科學(xué)工作流和企業(yè)數(shù)據(jù)集的各種功能。

官方稱,BlazingSQL(幾乎)可以處理任何你想要的數(shù)據(jù)。它的前身是 BlazingDB,但因為它并不是一個數(shù)據(jù)庫,所以研發(fā)團隊將 BlazingDB 改名為 BlazingSQL。

BlazingSQL 主要特性:

  • 查詢外部存儲數(shù)據(jù) :僅需一行代碼就可以注冊遠程存儲解決方案,例如 Amazon S3。
  • 簡單的 SQL:非常容易使用,運行 SQL 查詢就能得到 GPU DataFrames(GDF)的查詢結(jié)果。
  • 互操作性:任意一個 RAPIDS 庫都可以訪問查詢到的 GDF,并用于任意的數(shù)據(jù)科學(xué)工作負載。

BlazingSQL 解決的痛點

  • 價格昂貴: 進行大規(guī)模數(shù)據(jù)科學(xué)研究通常需要包含數(shù)千臺服務(wù)器的集群,而 BlazingSQL + RAPIDS 運行相同規(guī)模的工作負載只需要其中一小部分基礎(chǔ)設(shè)施。
  • 速度慢: 在大型數(shù)據(jù)集上運行工作負載和查詢可能需要數(shù)小時或數(shù)天,而 BlazingSQL + RAPIDS 借助 GPU 加速可以在幾秒內(nèi)得到結(jié)果,幫助數(shù)據(jù)科學(xué)家快速迭代新模型。
  • 復(fù)雜型: 數(shù)據(jù)科學(xué)工作負載通常基于小數(shù)據(jù)集開發(fā)出原型,然后針對分布式系統(tǒng)進行重建。BlazingSQL + RAPIDS 讓用戶能夠只編寫一次代碼,并且只需要一行代碼就能動態(tài)地改變分布式集群規(guī)模。

在開發(fā)團隊看來,迄今為止,SQL 是每一個主流分析生態(tài)系統(tǒng)的支柱之一,RAPIDS 是下一代分析生態(tài)系統(tǒng),而 BlazingSQL 是 RAPIDS 的 SQL 標(biāo)準。

BlazingSQL 完全基于 cuDF 和 cuIO 構(gòu)建,這些項目的新功能會直接影響 BlazingSQL 的功能和性能。同時,由于 BlazingSQL 運行在 GDF 上,它與 RAPIDS 的所有庫都是 100%可互操作的。

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

  • 降低代碼復(fù)雜性:SQL 語句非常簡單,你可以用單個語句替換數(shù)十到數(shù)百個 cuDF 函數(shù)調(diào)用。
  • 連接到數(shù)據(jù)湖: 你不再需要同步其他數(shù)據(jù)庫,BlazingSQL 可以查詢云端或網(wǎng)絡(luò)文件系統(tǒng)中的任意原始文件。
  • 讓 RAPIDS 變得更快: 更先進的 SQL 優(yōu)化器讓 RAPIDS 技術(shù)棧更智能地運行。

BlazingSQL 性能表現(xiàn)

目前,BlazingSQL+RAPIDS 已經(jīng)上線 Google Colab,研發(fā)團隊在 GCP 上搭建了兩個價格相當(dāng)?shù)募?,一個用于 Spark,另一個用于 BlazingSQL。他們在集群上運行端到端的數(shù)據(jù)分析工作負載:從數(shù)據(jù)湖到 ETL/ 特征工程,再到 XGBoost 訓(xùn)練,并對 Spark 和 BlazingSQL 的性能進行了對比測試。

研發(fā)人員在超過兩千萬行 Netflow 數(shù)據(jù)上運行兩次相同的特定工作負載。首先運行 BlazingSQL + RAPIDS,然后使用 PySpark(Spark 2.4.1)再次運行,得到如下結(jié)果:

如果把從 Google Drive 中加載 CSV 到各自 DataFrame 所需的時間考慮在內(nèi),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

據(jù) 介紹,BlazingSQL 大部分性能提升來自團隊的內(nèi)部引擎項目,BlazingSQL 團隊的工程師們希望開發(fā)一種專為 GPU DataFrames(GDF)構(gòu)建的 GPU 執(zhí)行內(nèi)核,稱之為“SIMD 表達式解釋器”(SIMD Expression Interpreter)。研發(fā)團隊分享了一些關(guān)于 SIMD 表達式解釋器的細節(jié),SIMD 表達式解釋器通過幾個關(guān)鍵步驟帶來提升性能:

  1. 接收多個輸入,包括 GDF 列、字面量,在不久的將來也會支持函數(shù)。
  2. 在加載這些輸入時,SIMD 表達式解釋器將對 GPU 寄存器的分配進行優(yōu)化,這可以優(yōu)化 GPU 線程占用率,并提高性能。
  3. 然后,虛擬機處理這些輸入,并生成多個輸出。假設(shè)有以下 SQL 查詢:
  1. SELECT colA + colB * 10,sin(colA) - cos(colD)FROM tableA 

在以前,BlazingSQL 會將這條查詢語句轉(zhuǎn)換為 5 個操作(+,*,sin,cos, - ),每個操作都需要單獨執(zhí)行。在使用 SIMD 表達式解釋器后,它會同時接收(colA、colB、colD)作為輸入,并在單次內(nèi)核執(zhí)行中執(zhí)行所有 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/

官方網(wǎng)站:https://docs.blazingdb.com/docs/using-blazingsql

責(zé)任編輯:張燕妮 來源: AI前線
相關(guān)推薦

2024-03-26 10:13:54

日志引擎SigLens

2024-01-23 11:28:14

Eslint前端Oxlint

2021-06-11 09:21:20

開源SQL Parser詞法語法分析器

2015-11-25 14:39:51

LiFiWiFi

2021-07-28 14:20:13

正則PythonFlashText

2022-10-27 08:31:31

架構(gòu)

2016-11-29 09:27:22

Apache SparDashboard構(gòu)建

2021-08-03 06:57:36

Protocol Bu平臺Json

2017-09-06 11:18:14

2024-11-26 07:43:21

2012-07-27 09:48:01

Google Fibe光纖寬帶寬帶

2025-01-20 08:17:00

代碼生成AI

2023-06-21 13:20:14

系統(tǒng)模型

2022-10-31 15:35:16

開源引擎

2024-08-01 08:40:00

2022-08-09 09:10:31

TaichiPython

2019-06-06 10:19:33

谷歌開源計算庫

2023-04-07 08:17:39

fasthttp場景設(shè)計HTTP

2017-03-20 18:30:36

WI-FI紅外線

2019-11-01 10:49:21

技術(shù)開源應(yīng)用
點贊
收藏

51CTO技術(shù)棧公眾號