Mesin SQL ringan dengan akselerasi GPU yang dibangun di ekosistem RAPIDS.ai.
Memulai di app.blazingsql.com
Memulai | Dokumentasi | Contoh | Berkontribusi | Lisensi | Blog | Coba Sekarang
BlazingSQL adalah mesin SQL berakselerasi GPU yang dibangun di atas ekosistem RAPIDS. RAPIDS didasarkan pada format memori kolom Apache Arrow, dan cuDF adalah pustaka GPU DataFrame untuk memuat, menggabungkan, menggabungkan, memfilter, dan memanipulasi data.
BlazingSQL adalah antarmuka SQL untuk cuDF, dengan berbagai fitur untuk mendukung alur kerja ilmu data skala besar dan kumpulan data perusahaan.
Coba Notebook Selamat Datang 5 menit kami untuk mulai menggunakan BlazingSQL dan RAPIDS AI.
Berikut dua salinan + tempel cuplikan BlazingSQL yang dapat direproduksi, terus gulir untuk menemukan contoh Notebook di bawah.
Buat dan kueri tabel dari cudf.DataFrame
dengan bilah kemajuan:
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
Kunci | Nilai | |
---|---|---|
0 | A | 7.6 |
1 | B | 7.1 |
Buat dan kueri tabel dari bucket 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' )
penumpang_count | jumlah_tarif | |
---|---|---|
0 | 1.0 | 1.1 |
1 | 1.0 | 0,7 |
Judul Buku Catatan | Keterangan | Coba Sekarang |
---|---|---|
Selamat Datang Buku Catatan | Pengantar Notebook BlazingSQL dan Ekosistem Sains Data GPU. | |
Bingkai Data | Pelajari cara menggunakan BlazingSQL dan cuDF untuk membuat GPU DataFrames dengan API mirip SQL dan Pandas. | |
Visualisasi Data | Hubungkan paket visualisasi Python favorit Anda, atau gunakan alat visualisasi yang dipercepat GPU untuk merender jutaan baris dalam sekejap. | |
Pembelajaran Mesin | Pelajari tentang cuML, yang dicerminkan setelah Scikit-Learn API, ia menawarkan pembelajaran mesin yang dipercepat GPU pada GPU DataFrames. |
Anda dapat menemukan dokumentasi lengkap kami di docs.blazingdb.com.
BlazingSQL dapat diinstal dengan conda (miniconda, atau distribusi lengkap Anaconda) dari saluran blazingsql:
conda install -c blazingsql -c rapidsai -c nvidia -c conda-forge -c defaults blazingsql python= $PYTHON_VERSION cudatoolkit= $CUDA_VERSION
Dimana $CUDA_VERSION adalah 11.0, 11.2 atau 11.4 dan $PYTHON_VERSION adalah 3.7 atau 3.8 Misalnya untuk CUDA 11.2 dan Python 3.8:
conda install -c blazingsql -c rapidsai -c nvidia -c conda-forge -c defaults blazingsql python=3.8 cudatoolkit=11.2
Untuk versi malam cuda 11+ hanya didukung, lihat 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
Dimana $CUDA_VERSION adalah 11.0, 11.2 atau 11.4 dan $PYTHON_VERSION adalah 3.7 atau 3.8 Misalnya untuk CUDA 11.2 dan 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
Ini adalah cara yang disarankan untuk membangun semua komponen dan dependensi BlazingSQL dari sumber. Ini memastikan bahwa semua dependensi tersedia untuk proses pembangunan.
conda create -n bsql python= $PYTHON_VERSION
conda activate bsql
./dependencies.sh 21.08 $CUDA_VERSION
Dimana $CUDA_VERSION adalah 11.0, 11.2 atau 11.4 dan $PYTHON_VERSION adalah 3.7 atau 3.8 Misalnya untuk CUDA 11.2 dan Python 3.7:
conda create -n bsql python=3.7
conda activate bsql
./dependencies.sh 21.08 11.2
Proses pembangunan akan memeriksa repositori BlazingSQL dan akan membangun dan menginstal ke dalam lingkungan 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
CATATAN: Anda dapat melakukan ./build.sh -h
untuk melihat opsi build lainnya.
$CONDA_PREFIX sekarang memiliki folder untuk repositori blazingsql.
Untuk versi malam cuda 11+ hanya didukung, lihat https://github.com/rapidsai/cudf#cudagpu-requirements
conda create -n bsql python= $PYTHON_VERSION
conda activate bsql
./dependencies.sh 21.10 $CUDA_VERSION nightly
Dimana $CUDA_VERSION adalah 11.0, 11.2 atau 11.4 dan $PYTHON_VERSION adalah 3.7 atau 3.8 Misalnya untuk CUDA 11.2 dan Python 3.8:
conda create -n bsql python=3.8
conda activate bsql
./dependencies.sh 21.10 11.2 nightly
Proses pembangunan akan memeriksa repositori BlazingSQL dan akan membangun dan menginstal ke dalam lingkungan conda.
cd $CONDA_PREFIX
git clone https://github.com/BlazingDB/blazingsql.git
cd blazingsql
export CUDACXX=/usr/local/cuda/bin/nvcc
./build.sh
CATATAN: Anda dapat melakukan ./build.sh -h
untuk melihat opsi build lainnya.
CATATAN: Anda dapat melakukan analisis statis dengan cppcheck dengan perintah cppcheck --project=compile_commands.json
di direktori pembangunan proyek cpp mana pun.
$CONDA_PREFIX sekarang memiliki folder untuk repositori blazingsql.
Untuk membangun tanpa plugin penyimpanan (AWS S3, Google Cloud Storage) gunakan argumen berikut:
# 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
CATATAN: Dengan menonaktifkan plugin penyimpanan, Anda tidak perlu menginstal AWS SDK C++ atau Google Cloud Storage sebelumnya (tidak ada dependensinya).
Untuk membangun tanpa penyedia SQL (MySQL, PostgreSQL, SQLite) gunakan argumen berikut:
# Disable all SQL providers
./build.sh disable-mysql disable-sqlite disable-postgresql
# Disable MySQL provider
./build.sh disable-mysql
...
CATATAN:
Panduan pengguna dan dokumentasi API publik dapat ditemukan di sini
Arsitektur kode internal kami dapat dibangun menggunakan Spinx.
conda install -c conda-forge doxygen
cd $CONDA_PREFIX
cd blazingsql/docsrc
pip install -r requirements.txt
make doxygen
make html
Dokumentasi yang dihasilkan dapat dilihat di browser di blazingsql/docsrc/build/html/index.html
Punya pertanyaan atau masukan? Posting masalah github baru.
Silakan lihat panduan kami untuk berkontribusi pada BlazingSQL.
Jangan ragu untuk bergabung dengan saluran kami (#blazingsql) di RAPIDS-GoAi Slack: .
Anda juga dapat mengirim email kepada kami di [email protected] atau mengetahui detail lebih lanjut di BlazingSQL.com.
Lisensi Apache 2.0
Rangkaian pustaka perangkat lunak sumber terbuka RAPIDS bertujuan untuk memungkinkan eksekusi ilmu data end-to-end dan pipeline analitik sepenuhnya pada GPU. Ini bergantung pada primitif NVIDIA® CUDA® untuk optimalisasi komputasi tingkat rendah, namun memperlihatkan paralelisme GPU dan kecepatan memori bandwidth tinggi melalui antarmuka Python yang mudah digunakan.
Versi GPU dari Apache Arrow adalah API umum yang memungkinkan pertukaran data tabular secara efisien antar proses yang berjalan pada GPU. Komputasi end-to-end pada GPU menghindari penyalinan dan konversi data yang tidak perlu dari GPU, sehingga mengurangi waktu dan biaya komputasi untuk analisis performa tinggi yang umum terjadi pada beban kerja kecerdasan buatan. Sesuai dengan namanya, cuDF menggunakan format data kolom Apache Arrow pada GPU. Saat ini, sebagian fitur di Apache Arrow didukung.