偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

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

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

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

開源項(xiàng)目地址:

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

關(guān)于 BlazingSQL

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

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

官方稱,BlazingSQL(幾乎)可以處理任何你想要的數(shù)據(jù)。它的前身是 BlazingDB,但因?yàn)樗⒉皇且粋€(gè)數(shù)據(jù)庫,所以研發(fā)團(tuán)隊(duì)將 BlazingDB 改名為 BlazingSQL。

BlazingSQL 主要特性:

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

BlazingSQL 解決的痛點(diǎn)

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

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

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

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

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

BlazingSQL 性能表現(xiàn)

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

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

如果把從 Google Drive 中加載 CSV 到各自 DataFrame 所需的時(shí)間考慮在內(nèi),BlazingSQL 比 Spark 快 71 倍。

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

越小越好

如果只看 ETL 時(shí)間,則 BlazingSQL 和 RAPIDS 的速度比 Spark 快 100 倍!

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

越小越好

運(yùn)行以下 Colab 演示,用戶可以使用免費(fèi)英偉達(dá) T4 GPU 資源進(jìn)行同樣的測試,對(duì) BlazingSQL 的實(shí)際效果進(jìn)行驗(yàn)證:

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

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

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

在以前,BlazingSQL 會(huì)將這條查詢語句轉(zhuǎn)換為 5 個(gè)操作(+,*,sin,cos, - ),每個(gè)操作都需要單獨(dú)執(zhí)行。在使用 SIMD 表達(dá)式解釋器后,它會(huì)同時(shí)接收(colA、colB、colD)作為輸入,并在單次內(nèi)核執(zhí)行中執(zhí)行所有 5 個(gè)操作,最終生成兩個(gè)輸出。這意味著 colA 只需要加載一次,而不是兩次。

目前,SIMD 表達(dá)式解釋器支持 BlazingSQL 的過濾和投影,因此它對(duì)許多主流的 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 項(xiàng)目鏈接: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

2022-10-27 08:31:31

架構(gòu)

2021-07-28 14:20:13

正則PythonFlashText

2016-11-29 09:27:22

Apache SparDashboard構(gòu)建

2017-09-06 11:18:14

2021-08-03 06:57:36

Protocol Bu平臺(tái)Json

2024-11-26 07:43:21

2025-01-20 08:17:00

代碼生成AI

2023-06-21 13:20:14

系統(tǒng)模型

2012-07-27 09:48:01

Google Fibe光纖寬帶寬帶

2024-08-01 08:40:00

2022-10-31 15:35:16

開源引擎

2022-08-09 09:10:31

TaichiPython

2023-04-07 08:17:39

fasthttp場景設(shè)計(jì)HTTP

2017-03-20 18:30:36

WI-FI紅外線

2019-11-01 10:49:21

技術(shù)開源應(yīng)用

2019-06-06 10:19:33

谷歌開源計(jì)算庫
點(diǎn)贊
收藏

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