BlazingSQL - GPU加速SQL引擎
Apache
跨平台
Python
软件简介
BlazingSQL是RAPIDS生态系统的GPU加速SQL引擎,现在在 Apache 2.0 许可下 100% 开源!
RAPIDS
包含一组软件库(BlazingSQL、cuDF、cuML、cuGraph),用来在
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)