محرك SQL خفيف الوزن ومسرع بواسطة وحدة معالجة الرسومات ومبني على النظام البيئي RAPIDS.ai.
ابدأ على app.blazingsql.com
البداية | التوثيق | أمثلة | المساهمة | الترخيص | مدونة | جرب الآن
BlazingSQL هو محرك SQL مُسرع بواسطة وحدة معالجة الرسومات ومبني على نظام RAPIDS البيئي. يعتمد RAPIDS على تنسيق الذاكرة العمودية Apache Arrow، وcuDF هي مكتبة GPU 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' )
عدد الركاب | أجرة_مبلغ | |
---|---|---|
0 | 1.0 | 1.1 |
1 | 1.0 | 0.7 |
عنوان المفكرة | وصف | جرب الآن |
---|---|---|
مفكرة ترحيب | مقدمة إلى أجهزة الكمبيوتر المحمولة BlazingSQL والنظام البيئي لعلوم بيانات GPU. | |
إطار البيانات | تعرف على كيفية استخدام BlazingSQL وcuDF لإنشاء GPU DataFrames باستخدام SQL وواجهات برمجة التطبيقات المشابهة لـ Pandas. | |
تصور البيانات | قم بتوصيل حزم التصور الخاصة بـ Python المفضلة لديك، أو استخدم أدوات التصور المسرع بواسطة وحدة معالجة الرسومات لعرض ملايين الصفوف في لمح البصر. | |
التعلم الآلي | تعرف على cuML، الذي ينعكس بعد Scikit-Learn API، فهو يوفر تعلمًا آليًا سريعًا لوحدة معالجة الرسومات على 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
...
ملحوظات:
يمكن العثور على أدلة المستخدم ووثائق واجهات برمجة التطبيقات العامة هنا
يمكن إنشاء بنية التعليمات البرمجية الداخلية الخاصة بنا باستخدام 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
هل لديك أسئلة أو تعليقات؟ نشر قضية جيثب جديدة.
يرجى الاطلاع على دليلنا للمساهمة في BlazingSQL.
لا تتردد في الانضمام إلى قناتنا (#blazingsql) في RAPIDS-GoAi Slack: .
يمكنك أيضًا مراسلتنا عبر البريد الإلكتروني على [email protected] أو معرفة المزيد من التفاصيل على BlazingSQL.com.
ترخيص أباتشي 2.0
تهدف مجموعة RAPIDS من مكتبات البرامج مفتوحة المصدر إلى تمكين تنفيذ علوم البيانات والتحليلات الشاملة بالكامل على وحدات معالجة الرسومات. فهو يعتمد على عناصر NVIDIA® CUDA® الأولية لتحسين الحوسبة ذات المستوى المنخفض، ولكنه يكشف عن توازي وحدة معالجة الرسومات (GPU) وسرعة الذاكرة ذات النطاق الترددي العالي من خلال واجهات Python سهلة الاستخدام.
يعد إصدار GPU من Apache Arrow واجهة برمجة تطبيقات شائعة تتيح التبادل الفعال للبيانات الجدولية بين العمليات التي تعمل على وحدة معالجة الرسومات. تعمل الحسابات الشاملة على وحدة معالجة الرسومات على تجنب النسخ غير الضروري للبيانات وتحويلها من وحدة معالجة الرسومات، مما يقلل من وقت الحوسبة وتكلفة التحليلات عالية الأداء الشائعة في أعباء عمل الذكاء الاصطناعي. كما يوحي الاسم، يستخدم cuDF تنسيق البيانات العمودي Apache Arrow على وحدة معالجة الرسومات. حاليًا، يتم دعم مجموعة فرعية من الميزات في Apache Arrow.