باختصاردليل عملي للاستعلام عن جداول بحيرة البيانات، وتسريع أدائها باستخدام MergeTree، ثم كتابة النتائج مجددًا إلى Iceberg. تستخدم جميع الخطوات مجموعات بيانات عامة، وتعمل على كلٍّ من Cloud وOSS.
استعلم عن بيانات Iceberg مباشرة
أسرع طريقة للبدء هي استخدام دالة الجدولicebergS3() — وجّهها إلى جدول Iceberg في S3 ونفّذ استعلامًا فورًا، من دون أي إعداد.افحص المخطط:deltaLake() وhudi() وpaimon().تعرّف على المزيد: يتناول الاستعلام عن تنسيقات الجداول المفتوحة مباشرةً التنسيقات الأربعة، ومتغيرات cluster للقراءة الموزعة، وخيارات الواجهة الخلفية للتخزين (S3 وAzure وHDFS وlocal).أنشئ جدولًا دائمًا باستخدام محرك جدول Iceberg
للوصول المتكرر، أنشئ جدولًا باستخدام محرك جدول Iceberg حتى لا تحتاج إلى تمرير المسار في كل مرة. تبقى البيانات في S3 — ولا تُنسخ أي بيانات:الاتصال بكتالوج
تدير معظم المؤسسات جداول Iceberg عبر كتالوج بيانات لتجميع البيانات الوصفية للجداول واكتشاف البيانات في مكان مركزي. يدعم ClickHouse الاتصال بكتالوجك باستخدام محرك قاعدة البياناتDataLakeCatalog، مما يعرِض جميع جداول الكتالوج كقاعدة بيانات في ClickHouse. وهذا هو المسار الأكثر قابلية للتوسع، لذا عند إنشاء جداول Iceberg جديدة تظل متاحة دائمًا في ClickHouse دون أي عمل إضافي.إليك مثالاً على الاتصال بـ AWS Glue:علامات الاقتباس المعكوسة مطلوبة حول
<database>.<table> لأن ClickHouse لا يدعم بشكل أصلي أكثر من نطاق أسماء واحد.نفِّذ استعلامًا
بصرف النظر عن الطريقة التي استخدمتها أعلاه — دالة الجدول أو محرك الجدول أو catalog — فإن ClickHouse SQL نفسه يعمل في جميعها:FROM. تعمل جميع الدوال وعمليات JOIN وعمليات التجميع في ClickHouse SQL بالطريقة نفسها بغضّ النظر عن مصدر البيانات.حمّل مجموعة فرعية إلى ClickHouse
يُعد الاستعلام عن Iceberg مباشرةً أمرًا مناسبًا، لكن الأداء يظل محدودًا بمعدل نقل الشبكة وتخطيط الملفات. بالنسبة إلى أعباء العمل التحليلية، حمّل البيانات إلى جدول MergeTree أصلي.أولًا، شغّل استعلامًا مُرشَّحًا على جدول Iceberg للحصول على خط أساس:counterid — لذا توقّع أن يستغرق ذلك عدة ثوانٍ.الآن أنشئ جدول MergeTree وحمّل البيانات:counterid هو العمود الأول في مفتاح ORDER BY، فإن الفهرس الأساسي المتناثر في ClickHouse يتخطّى مباشرةً إلى وحدات granule ذات الصلة، فلا يقرأ إلا الصفوف الخاصة بـ counterid = 38 بدلًا من فحص جميع الصفوف المئة مليون. والنتيجة هي تسارع كبير جدًا.يمضي دليل تسريع التحليلات إلى ما هو أبعد من ذلك باستخدام الأنواع LowCardinality، وفهارس النص الكامل، ومفاتيح ترتيب محسّنة، مع عرض تحسّن بنحو ~40x على مجموعة بيانات تضم 283 مليون صف.اعرف المزيد: يغطّي تسريع التحليلات باستخدام MergeTree تحسين المخطط، وفهرسة النص الكامل، ومقارنة كاملة للأداء قبل وبعد.الكتابة مرة أخرى إلى Iceberg
يمكن لـ ClickHouse أيضًا كتابة البيانات مرة أخرى إلى جداول Iceberg، مما يتيح سير عمل ETL العكسي — من خلال نشر النتائج المُجمَّعة أو مجموعات فرعية لتستخدمها أدوات أخرى (Spark وTrino وDuckDB وغيرها).أنشئ جدول Iceberg للمخرجات:الخطوات التالية
- الاستعلام مباشرةً — جميع التنسيقات الأربعة، ومتغيرات العناقيد، ومحركات الجداول، والتخزين المؤقت
- الاتصال بالكتالوجات — شرح تفصيلي كامل لـ Unity Catalog مع Delta وIceberg
- تسريع التحليلات — تحسين المخطط، والفهرسة، وعرض توضيحي لتسريع يصل إلى ~40x
- الكتابة إلى بحيرات البيانات — عمليات كتابة خام، وعمليات كتابة مجمّعة، ومواءمة الأنواع
- مصفوفة الدعم — مقارنة الميزات عبر التنسيقات وطبقات التخزين الخلفية