يجب استخدام هذا connector فقط إذا كانت بياناتك بسيطة وتتكون من data types بدائية، مثل
int. أما الأنواع الخاصة بـ ClickHouse، مثل maps، فهي غير مدعومة.الترخيص
الخطوات
اجمع بيانات الاتصال الخاصة بك
تتوفر تفاصيل خدمة ClickHouse Cloud الخاصة بك في ClickHouse Cloud console.
حدِّد خدمة ثم انقر على Connect:
اختر HTTPS. ستظهر تفاصيل الاتصال في مثال لأمر
curl.
إذا كنت تستخدم ClickHouse مُدارًا ذاتيًا، فسيُحدِّد مسؤول ClickHouse لديك تفاصيل الاتصال.
1. تثبيت Kafka Connect والموصل
confluent-hub، فسيتم تحديث ملفات التكوين المحلية لديك.
لإرسال البيانات من Kafka إلى ClickHouse، نستخدم مكوّن Sink الخاص بالموصل.
2. تنزيل وتثبيت برنامج تشغيل JDBC
clickhouse-jdbc-<version>-shaded.jar من هنا. ثبّت هذا ضمن Kafka Connect باتباع الإرشادات الواردة هنا. قد تعمل برامج تشغيل أخرى، لكنها لم تُختبر.
مشكلة شائعة: تقترح الوثائق نسخ ملف jar إلى
share/java/kafka-connect-jdbc/. إذا واجهت مشكلات في عثور Connect على برنامج التشغيل، فانسخ برنامج التشغيل إلى share/confluent-hub-components/confluentinc-kafka-connect-jdbc/lib/. أو عدّل plugin.path ليشمل برنامج التشغيل — انظر أدناه.3. إعداد التهيئة
_connection.url_- يجب أن يكون بالصيغةjdbc:clickhouse://<clickhouse host>:<clickhouse http port>/<target database>connection.user- مستخدم لديه صلاحية الكتابة إلى قاعدة البيانات الهدفtable.name.format- جدول ClickHouse الذي ستُدرج البيانات فيه. يجب أن يكون موجودًا.batch.size- عدد الصفوف التي تُرسل في batch واحد. احرص على ضبطه على قيمة كبيرة بما يكفي. ووفقًا لتوصيات ClickHouse، ينبغي اعتبار القيمة 1000 حدًا أدنى.tasks.max- يدعم موصل JDBC Sink تشغيل task واحد أو أكثر. ويمكن استخدام ذلك لتحسين الأداء. وإلى جانب حجم batch، يُعد هذا وسيلتك الأساسية لتحسين الأداء.value.converter.schemas.enable- اضبطه على false إذا كنت تستخدم مخطط registry، وعلى true إذا كنت تضمن مخططات داخل الرسائل.value.converter- اضبطه وفقًا لنوع بياناتك، فمثلًا بالنسبة إلى JSON استخدمio.confluent.connect.json.JsonSchemaConverter.key.converter- اضبطه علىorg.apache.kafka.connect.storage.StringConverter. نحن نستخدم مفاتيح String.pk.mode- غير ذي صلة بـ ClickHouse. اضبطه على none.auto.create- غير مدعوم ويجب أن تكون قيمته false.auto.evolve- نوصي باستخدام false لهذا الإعداد، رغم أنه قد يصبح مدعومًا مستقبلًا.insert.mode- اضبطه على “insert”. الأوضاع الأخرى غير مدعومة حاليًا.key.converter- اضبطه وفقًا لأنواع مفاتيحك.value.converter- اضبطه بناءً على نوع البيانات في topic لديك. ويجب أن تكون هذه البيانات ذات مخطط مدعوم — بتنسيقات JSON أو Avro أو Protobuf.
value.converter.schemas.enable- اضبطه على false لأننا نستخدم مخطط registry. واضبطه على true إذا كنت تضمن مخطط داخل كل رسالة.key.converter- اضبطه على “org.apache.kafka.connect.storage.StringConverter”. نحن نستخدم مفاتيح String.value.converter- اضبطه على “io.confluent.connect.json.JsonSchemaConverter”.value.converter.schema.registry.url- اضبط URL لخادم مخطط، إلى جانب بيانات الاعتماد الخاصة به، عبر المعلمةvalue.converter.schema.registry.basic.auth.user.info.