graphistry / pyBlazing

BlazingSQL is a lightweight, GPU accelerated, SQL engine built on RAPIDS.

Home Page:https://blazingsql.com

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

A lightweight, GPU accelerated, SQL engine built on the RAPIDS.ai ecosystem.

Getting Started | Documentation | Examples | Contributing | License | Blog

BlazingSQL is a GPU accelerated SQL engine built on top of the RAPIDS ecosystem. RAPIDS is based on the Apache Arrow columnar memory format, and cuDF is a GPU DataFrame library for loading, joining, aggregating, filtering, and otherwise manipulating data.

BlazingSQL is a SQL interface for cuDF, with various features to support large scale data science workflows and enterprise datasets.

  • Query Data Stored Externally - a single line of code can register remote storage solutions, such as Amazon S3.
  • Simple SQL - incredibly easy to use, run a SQL query and the results are GPU DataFrames (GDFs).
  • Interoperable - GDFs are immediately accessible to any RAPIDS library for data science workloads.

Check out our 5-min quick start notebook Google Colab Badge using BlazingSQL.

Getting Started

Please reference our docs to find out how to install BlazingSQL.

Querying a CSV file in Amazon S3 with BlazingSQL:

For example:

from blazingsql import BlazingContext
bc = BlazingContext()

bc.s3('dir_name', bucket_name='bucket_name', access_key_id='access_key', secret_key='secret_key')

# Create Table from CSV
bc.create_table('taxi', '/dir_name/taxi.csv')

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

#Print GDF
print(result_gdf)

Examples

Documentation

You can find our full documentation at the following site

Quick Start

Too see all the ways you can get started with BlazingSQL checkout out our Getting Started Page

Install Using Conda

BlazingSQL can be installed with conda (miniconda, or the full Anaconda distribution) from the blazingsql channel:

For CUDA 9.2 and Python 3.7:

conda install -c blazingsql/label/cuda9.2 -c blazingsql -c rapidsai -c conda-forge -c defaults blazingsql-calcite blazingsql-orchestrator blazingsql-ral blazingsql-python python=3.7 cudatoolkit=9.2

pip install jupyterlab==0.34

For CUDA 10.0 and Python 3.7:

conda install -c blazingsql/label/cuda10.0 -c blazingsql -c rapidsai -c conda-forge -c defaults blazingsql-calcite blazingsql-orchestrator blazingsql-ral blazingsql-python python=3.7 cudatoolkit=10.0

pip install jupyterlab==0.34

Build/Install from Source (Conda Environment)

This is the recommended way of building all of the BlazingSQL components and dependencies from source. It ensures that all the dependencies are available to the build process.

For CUDA 9.2:

conda create -n blazingsql-build python=3.7
conda activate blazingsql-build
conda install -c blazingsql/label/cuda9.2 -c blazingsql -c rapidsai -c conda-forge -c defaults blazingsql-dev 

cd $CONDA_PREFIX
git clone -b develop https://github.com/BlazingDB/pyBlazing.git
./pyBlazing/scripts/build-all.sh

For CUDA 10.0:

conda create -n blazingsql-build python=3.7
conda activate blazingsql-build
conda install -c blazingsql/label/cuda10.0 -c blazingsql -c rapidsai -c conda-forge -c defaults blazingsql-dev 

cd $CONDA_PREFIX
git clone -b develop https://github.com/BlazingDB/pyBlazing.git
./pyBlazing/scripts/build-all.sh

The build-all.sh script will checkout every BlazingSQL repository, build and install into the conda environment. $CONDA_PREFIX now has a folder for every blazingsql repository. If you want to build any component individually, inside each repo you can run in conda/recipes/{repo name}/build.sh from the root folder of the repository.

Build Conda Package

Navigate to the folder

cd conda/recipes/pyblazing
conda build  -c blazingsql -c conda-forge -c rapidsai-nightly blazingsql-dev .

Contributing

Have questions or feedback? Post a new github issue.

Please see our guide for contributing to BlazingSQL.

Contact

Feel free to join our Slack chat room: RAPIDS Slack Channel

You may also email us at info@blazingsql.com or find out more details on the BlazingSQL site

License

Apache License 2.0

RAPIDS AI - Open GPU Data Science

The RAPIDS suite of open source software libraries aim to enable execution of end-to-end data science and analytics pipelines entirely on GPUs. It relies on NVIDIA® CUDA® primitives for low-level compute optimization, but exposing that GPU parallelism and high-bandwidth memory speed through user-friendly Python interfaces.

Apache Arrow on GPU

The GPU version of Apache Arrow is a common API that enables efficient interchange of tabular data between processes running on the GPU. End-to-end computation on the GPU avoids unnecessary copying and converting of data off the GPU, reducing compute time and cost for high-performance analytics common in artificial intelligence workloads. As the name implies, cuDF uses the Apache Arrow columnar data format on the GPU. Currently, a subset of the features in Apache Arrow are supported.

About

BlazingSQL is a lightweight, GPU accelerated, SQL engine built on RAPIDS.

https://blazingsql.com

License:Apache License 2.0


Languages

Language:Python 87.1%Language:Shell 11.1%Language:Dockerfile 1.7%