Skip to main content

مقدمة

يدعم ClickHouse واجهة gRPC. وهي نظام مفتوح المصدر لاستدعاء الإجراءات عن بُعد يستخدم HTTP/2 وProtocol Buffers. ويدعم تطبيق gRPC في ClickHouse ما يلي:
  • SSL;
  • المصادقة;
  • الجلسات;
  • الضغط;
  • الاستعلامات المتوازية عبر القناة نفسها;
  • إلغاء الاستعلامات;
  • الحصول على معلومات التقدّم والسجلات;
  • الجداول الخارجية.
ترد مواصفات الواجهة في clickhouse_grpc.proto.

تهيئة gRPC

لاستخدام واجهة gRPC، اضبط grpc_port في إعدادات الخادم الرئيسية. اطّلع على خيارات التهيئة الأخرى في المثال التالي:

العميل المضمّن

يمكنك كتابة عميل بأي لغة برمجة من اللغات التي يدعمها gRPC باستخدام المواصفة المتاحة. أو يمكنك استخدام عميل بايثون مضمّن. وهو موجود في utils/grpc-client/clickhouse-grpc-client.py في المستودع. ويتطلب العميل المضمّن وحدات بايثون grpcio and grpcio-tools. يدعم العميل الوسائط التالية:
  • --help – يعرض رسالة المساعدة ثم ينهي التشغيل.
  • --host HOST, -h HOST – اسم خادم. القيمة الافتراضية: localhost. ويمكنك أيضًا استخدام عناوين IPv4 أو IPv6.
  • --port PORT – منفذ للاتصال. يجب أن يكون هذا المنفذ مفعّلًا في إعدادات خادم ClickHouse (راجع grpc_port). القيمة الافتراضية: 9100.
  • --user USER_NAME, -u USER_NAME – اسم مستخدم. القيمة الافتراضية: default.
  • --password PASSWORD – كلمة مرور. القيمة الافتراضية: سلسلة فارغة.
  • --query QUERY, -q QUERY – استعلام تجري معالجته عند استخدام الوضع غير التفاعلي.
  • --database DATABASE, -d DATABASE – قاعدة بيانات افتراضية. إذا لم يتم تحديدها، فستُستخدم قاعدة البيانات الحالية المحددة في إعدادات الخادم (وتكون default افتراضيًا).
  • --format OUTPUT_FORMAT, -f OUTPUT_FORMAT – تنسيق إخراج النتيجة. القيمة الافتراضية للوضع التفاعلي: PrettyCompact.
  • --debug – يفعّل عرض معلومات التصحيح.
لتشغيل العميل في الوضع التفاعلي، استدعه بدون الوسيطة --query. في وضع الدُفعات، يمكن تمرير بيانات الاستعلام عبر stdin. مثال على استخدام العميل في المثال التالي، يتم إنشاء جدول وتحميله ببيانات من ملف CSV. ثم يُستعلَم عن محتوى الجدول.
Query
Response