เอ็นจิ้น SQL น้ำหนักเบาที่เร่งความเร็วด้วย GPU สร้างขึ้นบนระบบนิเวศ RAPIDS.ai
เริ่มต้นใช้งานบน app.blazingsql.com
เริ่มต้นใช้งาน | เอกสารประกอบ | ตัวอย่าง | มีส่วนร่วม | ใบอนุญาต | บล็อก | ลองตอนนี้
BlazingSQL เป็นกลไก SQL ที่เร่งด้วย GPU ที่สร้างขึ้นบนระบบนิเวศ RAPIDS RAPIDS ขึ้นอยู่กับรูปแบบหน่วยความจำเรียงเป็นแนว Apache Arrow และ cuDF คือไลบรารี GPU DataFrame สำหรับการโหลด การรวม การรวม การกรอง และการจัดการข้อมูล
BlazingSQL เป็นอินเทอร์เฟซ SQL สำหรับ cuDF พร้อมฟีเจอร์ต่างๆ เพื่อรองรับเวิร์กโฟลว์วิทยาศาสตร์ข้อมูลขนาดใหญ่และชุดข้อมูลระดับองค์กร
ลองใช้สมุดบันทึกต้อนรับ 5 นาทีของเราเพื่อเริ่มใช้ BlazingSQL และ RAPIDS AI
ต่อไปนี้เป็นตัวอย่างข้อมูล BlazingSQL ที่ทำซ้ำได้ 2 สำเนาและวาง เลื่อนไปเรื่อย ๆ เพื่อค้นหาตัวอย่างสมุดบันทึกด้านล่าง
สร้างและสืบค้นตารางจาก 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' )
ผู้โดยสาร_นับ | ค่าโดยสาร_จำนวน | |
---|---|---|
0 | 1.0 | 1.1 |
1 | 1.0 | 0.7 |
ชื่อสมุดบันทึก | คำอธิบาย | ลองตอนนี้ |
---|---|---|
ยินดีต้อนรับโน๊ตบุ๊ค | ข้อมูลเบื้องต้นเกี่ยวกับโน้ตบุ๊ก BlazingSQL และระบบนิเวศวิทยาศาสตร์ข้อมูล GPU | |
ดาต้าเฟรม | เรียนรู้วิธีใช้ BlazingSQL และ cuDF เพื่อสร้าง GPU DataFrames ด้วย API ที่คล้ายกับ SQL และ Pandas | |
การแสดงข้อมูล | เสียบแพ็คเกจการแสดงภาพ Python ที่คุณชื่นชอบ หรือใช้เครื่องมือแสดงภาพแบบเร่งด้วย GPU เพื่อเรนเดอร์แถวหลายล้านแถวในพริบตา | |
การเรียนรู้ของเครื่อง | เรียนรู้เกี่ยวกับ cuML ซึ่งสะท้อนหลังจาก Scikit-Learn API โดยนำเสนอการเรียนรู้ของเครื่องที่เร่งด้วย GPU บน GPU DataFrames |
คุณสามารถดูเอกสารฉบับเต็มของเราได้ที่ 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) ใน RAPIDS-GoAi Slack:
คุณยังสามารถส่งอีเมลถึงเราได้ที่ [email protected] หรือดูรายละเอียดเพิ่มเติมเกี่ยวกับ BlazingSQL.com
ใบอนุญาต Apache 2.0
ชุดไลบรารีซอฟต์แวร์โอเพ่นซอร์ส RAPIDS มุ่งหวังที่จะเปิดใช้งานการดำเนินการไปป์ไลน์วิทยาศาสตร์ข้อมูลและการวิเคราะห์แบบ end-to-end บน GPU ทั้งหมด มันอาศัย NVIDIA® CUDA® ดั้งเดิมสำหรับการเพิ่มประสิทธิภาพการประมวลผลระดับต่ำ แต่เผยให้เห็นความขนานของ GPU และความเร็วหน่วยความจำแบนด์วิธสูงผ่านอินเทอร์เฟซ Python ที่ใช้งานง่าย
Apache Arrow เวอร์ชัน GPU เป็น API ทั่วไปที่ช่วยให้สามารถแลกเปลี่ยนข้อมูลแบบตารางระหว่างกระบวนการที่ทำงานบน GPU ได้อย่างมีประสิทธิภาพ การคำนวณแบบครบวงจรบน GPU หลีกเลี่ยงการคัดลอกและแปลงข้อมูลที่ไม่จำเป็นจาก GPU ซึ่งช่วยลดเวลาการประมวลผลและต้นทุนสำหรับการวิเคราะห์ประสิทธิภาพสูงซึ่งพบได้ทั่วไปในเวิร์กโหลดปัญญาประดิษฐ์ ตามชื่อที่สื่อถึง cuDF ใช้รูปแบบข้อมูลเรียงเป็นแนว Apache Arrow บน GPU ปัจจุบันรองรับชุดย่อยของคุณสมบัติใน Apache Arrow