Skip to main content
Apache NiFi هو برنامج مفتوح المصدر لإدارة سير العمل، صُمم لأتمتة تدفق البيانات بين الأنظمة البرمجية. ويتيح إنشاء مسارات بيانات ETL، ويأتي مزودًا بأكثر من 300 معالج بيانات. يوضح هذا الدليل العملي خطوة بخطوة كيفية توصيل Apache NiFi بـ ClickHouse كمصدر ووجهة، وكيفية تحميل مجموعة بيانات تجريبية.
1

جهّز تفاصيل الاتصال الخاصة بك

للاتصال بـ ClickHouse باستخدام HTTP(S)، تحتاج إلى المعلومات التالية:تتوفر تفاصيل خدمة ClickHouse Cloud الخاصة بك في ClickHouse Cloud console. حدِّد خدمة ثم انقر على Connect:
زر Connect لخدمة ClickHouse Cloud
اختر HTTPS. ستظهر تفاصيل الاتصال في مثال لأمر curl.
تفاصيل اتصال HTTPS لخدمة ClickHouse Cloud
إذا كنت تستخدم ClickHouse مُدارًا ذاتيًا، فسيُحدِّد مسؤول ClickHouse لديك تفاصيل الاتصال.
2

نزِّل Apache NiFi وشغِّله

لإعداد جديد، نزِّل الملف التنفيذي من https://nifi.apache.org/download.html ثم ابدأ بتشغيل ./bin/nifi.sh start
3

تنزيل برنامج تشغيل ClickHouse JDBC

  1. انتقل إلى صفحة إصدارات برنامج تشغيل ClickHouse JDBC على GitHub وابحث عن أحدث إصدار من JDBC
  2. ضمن هذا الإصدار، انقر على “Show all xx assets” ثم ابحث عن ملف JAR الذي يحتوي على الكلمة المفتاحية “shaded” أو “all”، مثل clickhouse-jdbc-0.5.0-all.jar
  3. ضع ملف JAR في مجلد يمكن لـ Apache NiFi الوصول إليه، ودوّن المسار المطلق
4

أضِف خدمة وحدة التحكم DBCPConnectionPool واضبط خصائصها

  1. لتهيئة خدمة وحدة تحكم في Apache NiFi، انتقل إلى صفحة تهيئة تدفق NiFi بالنقر على زر “الترس”
  2. حدِّد علامة تبويب خدمات وحدة التحكم، ثم أضِف خدمة وحدة تحكم جديدة بالنقر على زر + في أعلى اليمين
  3. ابحث عن DBCPConnectionPool وانقر على زر “إضافة”
  4. ستكون DBCPConnectionPool المضافة حديثًا في حالة غير صالحة افتراضيًا. انقر على زر “الترس” لبدء التهيئة
  5. ضمن قسم “الخصائص”، أدخل القيم التالية
  1. في قسم الإعدادات، غيِّر اسم خدمة وحدة التحكم إلى “ClickHouse JDBC” لتسهيل الرجوع إليها
  2. فعِّل خدمة وحدة التحكم DBCPConnectionPool بالنقر على زر “البرق” ثم زر “تمكين”
  3. تحقّق من علامة تبويب خدمات وحدة التحكم وتأكد من أن خدمة وحدة التحكم مُمكَّنة
5

القراءة من جدول باستخدام المعالج ExecuteSQL

  1. أضف المعالج ​​ExecuteSQL، إلى جانب المعالجات المناسبة السابقة واللاحقة
  2. ضمن قسم “Properties” في المعالج ​​ExecuteSQL، أدخل القيم التالية
  3. ابدأ المعالج ​​ExecuteSQL
  4. للتأكد من أن الاستعلام قد تمت معالجته بنجاح، افحص أحد عناصر FlowFile في قائمة انتظار الإخراج
  5. بدّل العرض إلى “formatted” لعرض نتيجة FlowFile الناتج
6

الكتابة إلى جدول باستخدام MergeRecord و PutDatabaseRecord المعالج

  1. لكتابة عدة صفوف في عملية insert واحدة، نحتاج أولاً إلى دمج عدة سجلات في سجل واحد. يمكن تنفيذ ذلك باستخدام المعالج MergeRecord
  2. ضمن قسم “الخصائص” في المعالج MergeRecord، أدخل القيم التالية
  3. للتأكد من دمج عدة سجلات في سجل واحد، افحص المدخلات والمخرجات الخاصة بالمعالج MergeRecord. لاحظ أن المخرجات عبارة عن مصفوفة تضم عدة سجلات إدخال الإدخال المخرجات
  4. ضمن قسم “الخصائص” في المعالج PutDatabaseRecord، أدخل القيم التالية
  5. للتأكد من أن كل عملية insert تحتوي على عدة صفوف، تحقق من أن عدد الصفوف في الجدول يزداد بمقدار لا يقل عن قيمة “الحد الأدنى لعدد السجلات” المحددة في MergeRecord.
  6. تهانينا! لقد حمّلت بياناتك بنجاح إلى ClickHouse باستخدام Apache NiFi!
آخر تعديل في ٢٤ يوليو ٢٠٢٦