Легкий движок SQL с графическим ускорением, созданный на базе экосистемы RAPIDS.ai.
Начните работу на app.blazingsql.com
Начало работы | Документация | Примеры | Содействие | Лицензия | Блог | Попробуйте сейчас
BlazingSQL — это механизм SQL с ускорением на графическом процессоре, созданный на основе экосистемы RAPIDS. RAPIDS основан на формате столбчатой памяти Apache Arrow, а cuDF — это библиотека DataFrame графического процессора для загрузки, объединения, агрегирования, фильтрации и других манипуляций с данными.
BlazingSQL — это SQL-интерфейс для cuDF с различными функциями для поддержки крупномасштабных рабочих процессов обработки данных и корпоративных наборов данных.
Попробуйте наш 5-минутный вводный блокнот, чтобы начать использовать BlazingSQL и RAPIDS AI.
Вот два воспроизводимых фрагмента BlazingSQL, которые можно скопировать и вставить. Продолжайте прокручивать, чтобы найти примеры блокнотов ниже.
Создайте и запросите таблицу из cudf.DataFrame
с индикатором выполнения:
import cudf
df = cudf . DataFrame ()
df [ 'key' ] = [ 'a' , 'b' , 'c' , 'd' , 'e' ]
df [ 'val' ] = [ 7.6 , 2.9 , 7.1 , 1.6 , 2.2 ]
from blazingsql import BlazingContext
bc = BlazingContext ( enable_progress_bar = True )
bc . create_table ( 'game_1' , df )
bc . sql ( 'SELECT * FROM game_1 WHERE val > 4' ) # the query progress will be shown
Ключ | Ценить | |
---|---|---|
0 | а | 7,6 |
1 | б | 7.1 |
Создайте и запросите таблицу из корзины AWS S3:
from blazingsql import BlazingContext
bc = BlazingContext ()
bc . s3 ( 'blazingsql-colab' , bucket_name = 'blazingsql-colab' )
bc . create_table ( 'taxi' , 's3://blazingsql-colab/yellow_taxi/taxi_data.parquet' )
bc . sql ( 'SELECT passenger_count, trip_distance FROM taxi LIMIT 2' )
пассажир_количество | Fare_amount | |
---|---|---|
0 | 1.0 | 1.1 |
1 | 1.0 | 0,7 |
Название блокнота | Описание | Попробуйте сейчас |
---|---|---|
Приветственный блокнот | Введение в ноутбуки BlazingSQL и экосистему обработки данных графического процессора. | |
DataFrame | Узнайте, как использовать BlazingSQL и cuDF для создания фреймов данных графического процессора с помощью SQL и API-интерфейсов, подобных Pandas. | |
Визуализация данных | Подключите свои любимые пакеты визуализации Python или используйте инструменты визуализации с ускорением на графическом процессоре для мгновенной визуализации миллионов строк. | |
Машинное обучение | Узнайте о cuML, созданном по аналогии с API Scikit-Learn. Он предлагает машинное обучение с ускорением графического процессора на кадрах данных графического процессора. |
Полную документацию можно найти на сайте docs.blazingdb.com.
BlazingSQL можно установить с помощью conda (miniconda или полного дистрибутива Anaconda) из канала blazingsql:
conda install -c blazingsql -c rapidsai -c nvidia -c conda-forge -c defaults blazingsql python= $PYTHON_VERSION cudatoolkit= $CUDA_VERSION
Где $CUDA_VERSION — 11,0, 11,2 или 11,4, а $PYTHON_VERSION — 3,7 или 3,8. Например, для CUDA 11.2 и Python 3.8:
conda install -c blazingsql -c rapidsai -c nvidia -c conda-forge -c defaults blazingsql python=3.8 cudatoolkit=11.2
Для ночной версии поддерживаются только cuda 11+, см. https://github.com/rapidsai/cudf#cudagpu-requirements.
conda install -c blazingsql-nightly -c rapidsai-nightly -c nvidia -c conda-forge -c defaults blazingsql python= $PYTHON_VERSION cudatoolkit= $CUDA_VERSION
Где $CUDA_VERSION — 11,0, 11,2 или 11,4, а $PYTHON_VERSION — 3,7 или 3,8. Например, для CUDA 11.2 и Python 3.8:
conda install -c blazingsql-nightly -c rapidsai-nightly -c nvidia -c conda-forge -c defaults blazingsql python=3.8 cudatoolkit=11.2
Это рекомендуемый способ сборки всех компонентов и зависимостей BlazingSQL из исходного кода. Это гарантирует, что все зависимости доступны для процесса сборки.
conda create -n bsql python= $PYTHON_VERSION
conda activate bsql
./dependencies.sh 21.08 $CUDA_VERSION
Где $CUDA_VERSION — это 11.0, 11.2 или 11.4, а $PYTHON_VERSION — 3,7 или 3,8. Например, для CUDA 11.2 и Python 3.7:
conda create -n bsql python=3.7
conda activate bsql
./dependencies.sh 21.08 11.2
В процессе сборки будет извлечен репозиторий BlazingSQL, а затем собрана и установлена в среду conda.
cd $CONDA_PREFIX
git clone https://github.com/BlazingDB/blazingsql.git
cd blazingsql
git checkout main
export CUDACXX=/usr/local/cuda/bin/nvcc
./build.sh
ПРИМЕЧАНИЕ. Вы можете выполнить ./build.sh -h
, чтобы просмотреть дополнительные параметры сборки.
В $CONDA_PREFIX теперь есть папка для репозитория blazingsql.
Для ночной версии поддерживаются только cuda 11+, см. https://github.com/rapidsai/cudf#cudagpu-requirements.
conda create -n bsql python= $PYTHON_VERSION
conda activate bsql
./dependencies.sh 21.10 $CUDA_VERSION nightly
Где $CUDA_VERSION — 11,0, 11,2 или 11,4, а $PYTHON_VERSION — 3,7 или 3,8. Например, для CUDA 11.2 и Python 3.8:
conda create -n bsql python=3.8
conda activate bsql
./dependencies.sh 21.10 11.2 nightly
В процессе сборки будет выполнено извлечение репозитория BlazingSQL, а также сборка и установка в среду conda.
cd $CONDA_PREFIX
git clone https://github.com/BlazingDB/blazingsql.git
cd blazingsql
export CUDACXX=/usr/local/cuda/bin/nvcc
./build.sh
ПРИМЕЧАНИЕ. Вы можете выполнить ./build.sh -h
, чтобы просмотреть дополнительные параметры сборки.
ПРИМЕЧАНИЕ. Статический анализ с помощью cppcheck можно выполнить с помощью команды cppcheck --project=compile_commands.json
в любом каталоге сборки проекта cpp.
В $CONDA_PREFIX теперь есть папка для репозитория blazingsql.
Для сборки без плагинов хранилища (AWS S3, Google Cloud Storage) используйте следующие аргументы:
# Disable all storage plugins
./build.sh disable-aws-s3 disable-google-gs
# Disable AWS S3 storage plugin
./build.sh disable-aws-s3
# Disable Google Cloud Storage plugin
./build.sh disable-google-gs
ПРИМЕЧАНИЕ. Отключив плагины хранилища, вам не нужно предварительно устанавливать AWS SDK C++ или Google Cloud Storage (ни какие-либо его зависимости).
Для сборки без поставщиков SQL (MySQL, PostgreSQL, SQLite) используйте следующие аргументы:
# Disable all SQL providers
./build.sh disable-mysql disable-sqlite disable-postgresql
# Disable MySQL provider
./build.sh disable-mysql
...
ПРИМЕЧАНИЯ:
Руководства пользователя и общедоступную документацию по API можно найти здесь.
Наша внутренняя архитектура кода может быть построена с использованием Spinx.
conda install -c conda-forge doxygen
cd $CONDA_PREFIX
cd blazingsql/docsrc
pip install -r requirements.txt
make doxygen
make html
Сгенерированную документацию можно просмотреть в браузере по адресу blazingsql/docsrc/build/html/index.html
Есть вопросы или отзывы? Опубликуйте новый выпуск на GitHub.
Ознакомьтесь с нашим руководством по участию в BlazingSQL.
Не стесняйтесь присоединяться к нашему каналу (#blazingsql) в Slack RAPIDS-GoAi: .
Вы также можете написать нам по адресу [email protected] или узнать более подробную информацию о BlazingSQL.com.
Лицензия Апач 2.0
Набор библиотек программного обеспечения с открытым исходным кодом RAPIDS призван обеспечить выполнение комплексных конвейеров обработки данных и анализа исключительно на графических процессорах. Он использует примитивы NVIDIA® CUDA® для низкоуровневой оптимизации вычислений, но обеспечивает параллелизм графического процессора и высокую скорость памяти с помощью удобных интерфейсов Python.
Версия Apache Arrow для графического процессора — это общий API, который обеспечивает эффективный обмен табличными данными между процессами, выполняющимися на графическом процессоре. Сквозные вычисления на графическом процессоре позволяют избежать ненужного копирования и преобразования данных с графического процессора, сокращая время вычислений и затраты на высокопроизводительную аналитику, обычную для рабочих нагрузок искусственного интеллекта. Как следует из названия, cuDF использует формат столбчатых данных Apache Arrow на графическом процессоре. В настоящее время поддерживается часть функций Apache Arrow.