Skip to main content

Kafka ونوع بيانات JSON

مع طرح نوع البيانات الجديد JSON، أصبح ClickHouse خيارًا مناسبًا كقاعدة بيانات لتحليلات JSON. في هذا الدليل، سنتعلّم كيفية تحميل رسائل JSON من Apache Kafka مباشرةً إلى عمود JSON واحد في ClickHouse.

إعداد Kafka

لنبدأ بتشغيل broker لـ Kafka على جهازنا. وسنربط أيضًا المنفذ 9092 بالمنفذ 9092 على نظام التشغيل المضيف لدينا لتسهيل التفاعل مع Kafka:

إدخال البيانات إلى Kafka

بمجرد تشغيل ذلك، نحتاج إلى إدخال بعض البيانات. يُعد موجز أحدث التغييرات من Wikimedia مصدرًا جيدًا للبيانات المتدفقة، لذا لنُدخل هذه البيانات إلى الموضوع wiki_events:
يمكننا التحقق من أنه يتم إدخال البيانات بتشغيل الأمر التالي:
حتى الآن، كل شيء على ما يرام.

إدخال البيانات إلى ClickHouse

بعد ذلك، سنُدخل البيانات إلى ClickHouse. أولًا، لنفعّل نوع JSON (وهو حاليًا تجريبي)، وذلك بضبط الخاصية التالية:
الآن، سننشئ جدول wiki_queue الذي يستخدم محرك جدول Kafka.
لاحظ أننا نستخدم التنسيق JSONAsObject، ما يضمن إتاحة الرسائل الواردة بوصفها كائن JSON. ولا يمكن تحليل هذا التنسيق إلا إلى جدول يحتوي على عمود واحد من النوع JSON. بعد ذلك، سننشئ الجدول الأساسي لتخزين بيانات Wiki:
أخيرًا، لنُنشئ عرضًا مُجسَّدًا لتعبئة جدول wiki:

الاستعلام عن بيانات JSON في ClickHouse

يمكننا بعد ذلك إجراء استعلامات على جدول wiki. على سبيل المثال، يمكننا إحصاء عدد الروبوتات التي أدخلت تعديلات:
أو يمكننا معرفة المستخدمين الذين يجرون أكبر عدد من التعديلات في en.wikipedia.org:
آخر تعديل في ٣ يوليو ٢٠٢٦