BlazingSQL - GPU加速SQL引擎


Apache
跨平台
Python

软件简介

BlazingSQL是RAPIDS生态系统的GPU加速SQL引擎,现在在 Apache 2.0 许可下 100% 开源!

RAPIDS

包含一组软件库(BlazingSQLcuDFcuMLcuGraph),用来在
GPU 上执行端到端的数据科学计算和分析管道。

BlazingSQL是一个基于RAPIDS生态系统构建的GPU加速SQL引擎。 RAPIDS基于Apache
Arrow
柱状内存格式,cuDF是一个GPU
DataFrame库,用于加载、连接、聚合、过滤和操作数据。

BlazingSQL是cuDF的SQL接口,具有支持大规模数据科学工作流和企业数据集的各种功能。

主要特性:

  • 查询外部存储数据 - 单行代码可以注册远程存储解决方案,例如Amazon S3。
  • 简单的SQL - 非常容易使用,运行SQL查询,结果是GPU DataFrames(GDF)。
  • 互操作性 - 任何RAPIDS库都可以立即访问GDF以获取数据科学工作负载。

示例代码:

CVS 读取:

from blazingsql import BlazingContext
bc = BlazingContext()

# Create Table from CSV
bc.create_table('taxi', '/blazingdb/data/taxi.csv', delimiter= ',', names = column_names)

# Query
result = bc.sql('SELECT count(*) FROM main.taxi GROUP BY year(key)').get()
result_gdf = result.columns

#Print GDF 
print(result_gdf)

JSON 处理:

from blazingsql import BlazingContext
import cudf

bc = BlazingContext()

# Load JSON into GPU DataFrame (GDF)
taxi_gdf = cudf.io.json.read_json('taxi.json')

# Create Table from GDF
bc.create_table('taxi', taxi_gdf)

# Query
result = bc.sql('SELECT count(*) FROM main.taxi GROUP BY year(key)').get()
result_gdf = result.columns

#Print GDF 
print(result_gdf)