المقدمة
- الواجهة الرئيسية هي الكائن
Clientفي الحزمةclickhouse_connect.driver. وتتضمن هذه الحزمة الأساسية أيضًا فئات مساعدة متنوعة ودوال خدمية تُستخدم للتواصل مع خادم ClickHouse، بالإضافة إلى تطبيقات “context” لإدارة استعلامات insert و select المتقدمة. - توفّر الحزمة
clickhouse_connect.datatypesتنفيذًا أساسيًا وفئات فرعية لجميع أنواع بيانات ClickHouse غير التجريبية. وتتمثل وظيفتها الأساسية في تسلسل بيانات ClickHouse وإلغاء تسلسلها إلى التنسيق الثنائي العمودي “Native” الخاص بـ ClickHouse، والمستخدَم لتحقيق أعلى كفاءة ممكنة في نقل البيانات بين ClickHouse وتطبيقات العميل. - تعمل فئات Cython/C في الحزمة
clickhouse_connect.cdriverعلى تحسين بعض أكثر عمليات التسلسل وإلغاء التسلسل شيوعًا، ما يوفّر أداءً أفضل بكثير مقارنةً ببايثون الخالص. - تتوفر لهجة SQLAlchemy في الحزمة
clickhouse_connect.cc_sqlalchemy، وهي مبنية على حزمتَيdatatypesوdbi. ويدعم هذا التنفيذ إمكانات SQLAlchemy Core، بما في ذلك استعلاماتSELECTمعJOIN(INNER,LEFT OUTER,FULL OUTER,CROSS)، وعباراتWHERE، وORDER BY، وLIMIT/OFFSET، وعملياتDISTINCT، وعباراتDELETEخفيفة الوزن مع شروطWHERE، وانعكاس الجداول، وعمليات DDL الأساسية (CREATE TABLE,CREATE/DROP DATABASE). ورغم أنه لا يدعم ميزات ORM المتقدمة أو ميزات DDL المتقدمة، فإنه يوفّر إمكانات استعلام قوية مناسبة لمعظم أعباء العمل التحليلية على قاعدة بيانات ClickHouse الموجّهة إلى OLAP. - يُعد برنامج التشغيل الأساسي وتنفيذ ClickHouse Connect SQLAlchemy الطريقة المفضلة لربط ClickHouse بـ Apache Superset. استخدم اتصال قاعدة البيانات
ClickHouse Connectأو سلسلة اتصال لهجة SQLAlchemyclickhousedb.
يستخدم برنامج تشغيل ClickHouse Connect الرسمي لبايثون بروتوكول HTTP للتواصل مع خادم ClickHouse. يوفّر ذلك دعمًا لموازن تحميل HTTP، ويعمل بكفاءة في بيئات المؤسسات التي تستخدم جدران الحماية والوكلاء، لكنه يقدّم ضغطًا وأداءً أقل قليلًا مقارنةً بالبروتوكول الأصلي المعتمد على TCP، كما لا يدعم بعض الميزات المتقدمة مثل إلغاء الاستعلامات. وفي بعض حالات الاستخدام، قد ترغب في استخدام أحد برامج تشغيل بايثون المجتمعية التي تستخدم البروتوكول الأصلي المعتمد على TCP.
المتطلبات والتوافق
¹تم اختبار ClickHouse Connect صراحةً على المنصات المدرجة. بالإضافة إلى ذلك، تُبنى حِزم wheel الثنائية غير المختبرة (مع تحسينات C) لجميع المعماريات التي يدعمها مشروع
cibuildwheel الممتاز. وأخيرًا، بما أن ClickHouse Connect يمكنه أيضًا العمل كبرنامج بايثون خالص، فمن المفترض أن يعمل التثبيت من المصدر على أي تثبيت حديث لـ بايثون.
²يقتصر دعم SQLAlchemy على وظائف Core (الاستعلامات وDDL الأساسية). ميزات ORM غير مدعومة. راجع وثائق SQLAlchemy Integration Support لمزيد من التفاصيل.
³يعمل ClickHouse Connect عمومًا بشكل جيد مع الإصدارات الواقعة خارج النطاق المدعوم رسميًا.
التثبيت
pip install clickhouse-connect
يمكن أيضًا تثبيت ClickHouse Connect من المصدر:
- نفّذ
git cloneلـ مستودع GitHub. - (اختياري) شغّل
pip install cythonلبناء تحسينات C/Cython وتمكينها - انتقل باستخدام
cdإلى الدليل الجذر للمشروع ثم شغّلpip install .
سياسة الدعم
الاستخدام الأساسي
اجمع بيانات الاتصال الخاصة بك
تتوفر تفاصيل خدمة ClickHouse Cloud الخاصة بك في ClickHouse Cloud console.
حدِّد خدمة ثم انقر على Connect:
اختر HTTPS. ستظهر تفاصيل الاتصال في مثال لأمر
curl.
إذا كنت تستخدم ClickHouse مُدارًا ذاتيًا، فسيُحدِّد مسؤول ClickHouse لديك تفاصيل الاتصال.
إنشاء اتصال
- الاتصال بخادم ClickHouse على localhost.
- الاتصال بخدمة ClickHouse Cloud.
استخدم مثيل عميل ClickHouse Connect للاتصال بخادم ClickHouse على localhost:
استخدم مثيل عميل ClickHouse Connect للاتصال بخدمة ClickHouse Cloud:
التفاعل مع قاعدة البيانات
command في client:
insert في العميل مع مصفوفة ثنائية الأبعاد من الصفوف والقيم:
query الخاصة بالعميل: