نظرة عامة
- كيفية إعداد Kafka على Ubuntu
- إدخال دفق من البيانات إلى موضوع في Kafka
- إنشاء جدول ClickHouse يشترك في الموضوع
1. إعداد Kafka على Ubuntu
- أنشئ مثيل Ubuntu على ec2 واتصل به عبر SSH:
- ثبّت Kafka (باتباع الإرشادات هنا: https://www.linode.com/docs/guides/how-to-install-apache-kafka-on-ubuntu/):
- شغّل ZooKeeper:
- افتح نافذة طرفية جديدة وشغّل Kafka:
- افتح نافذة طرفية ثالثة وأنشئ موضوع باسم wikimedia:
- يمكنك التأكد من إنشائه بنجاح من خلال:
2. إدخال تدفّق Wikimedia إلى Kafka
- نحتاج أولًا إلى بعض الأدوات:
- تُرسَل البيانات إلى Kafka باستخدام أمر curl ذكي يجلب أحدث أحداث Wikimedia، ويستخلص منها بيانات JSON ثم يرسلها إلى موضوع Kafka:
- يمكنك “وصف” الـ موضوع:
- لنتحقق من أن كل شيء يعمل كما ينبغي من خلال استهلاك بعض الأحداث:
- اضغط على Ctrl+c لإيقاف الأمر السابق.
3. إدخال البيانات إلى ClickHouse
- إليك شكل البيانات الواردة:
- سنحتاج إلى محرك الجدول Kafka لسحب البيانات من موضوع Kafka:
- لسببٍ ما، يبدو أن محرك الجدول Kafka يأخذ عنوان URL العام لـ ec2 ويحوّله إلى اسم DNS الخاص، لذا اضطررت إلى إضافته إلى ملف
/etc/hostsالمحلي:
- يمكنك القراءة من جدول Kafka، ما عليك سوى تمكين إعداد:
- نحتاج إلى جدول MergeTree لتخزين هذه الأحداث الواردة:
- لنعرّف عرضًا ماديًا يُفعَّل عند تنفيذ عملية insert على جدول Kafka ويرسل البيانات إلى جدول rawEvents:
- ينبغي أن تبدأ بمشاهدة البيانات تتدفق إلى rawEvents على الفور تقريبًا:
- لنطّلع على بعض الصفوف:
- لنرَ أنواع الأحداث التي تصل:
- سنحتاج إلى دوال -Merge لعرض النتائج: