الانتقال إلى المحتوى الرئيسي
في الأدلة السابقة، أجريتَ استعلامات على تنسيقات الجداول المفتوحة في مكانها، وحمّلتَ البيانات إلى MergeTree لإجراء تحليلات سريعة. وفي كثير من البنى المعمارية، تحتاج البيانات أيضًا إلى التدفق في الاتجاه المعاكس، من ClickHouse عائدةً إلى تنسيقات الجداول المفتوحة. وهناك سيناريوهان شائعان يدفعان إلى ذلك:
  • نقل البيانات إلى التخزين طويل الأمد - تصل البيانات إلى ClickHouse بوصفها طبقة تحليلات فورية، تُغذّي لوحات المعلومات والتقارير التشغيلية. وبمجرد أن تتجاوز البيانات نافذتها الزمنية الفورية، يمكن كتابتها إلى Iceberg في التخزين الكائني للاحتفاظ بها بصورة دائمة وبتكلفة منخفضة وبتنسيق قابل للتشغيل البيني.
  • ETL العكسي - تنتج التحويلات وعمليات التجميع والإثراء التي تُنفَّذ داخل ClickHouse مجموعات بيانات مشتقة تحتاج الأدوات اللاحقة والفرق الأخرى إلى استهلاكها. وتؤدي كتابة هذه النتائج إلى جداول Iceberg إلى إتاحتها عبر منظومة البيانات الأوسع.
في كلتا الحالتين، يتيح لك INSERT INTO SELECT نقل البيانات من جداول ClickHouse إلى جداول Iceberg المخزنة في التخزين الكائني.
الكتابة إلى تنسيقات الجداول المفتوحة مدعومة حاليًا لجداول Iceberg فقط. ويجري حاليًا تطوير دعم جزئي لجداول Delta Lake. ويجب ألا تكون الجداول مُدارة بواسطة catalog.

إعداد مجموعة بيانات كمصدر

في هذا الدليل، سنستخدم مجموعة البيانات UK Price Paid — وهي سجل عام يتضمن كل معاملة بيع لعقار سكني في إنجلترا وويلز.

أنشئ جدول MergeTree واملأه

املأ الجدول مباشرةً من مصدر CSV عام:

كتابة البيانات في جدول Iceberg

إنشاء جدول Iceberg

لكتابة البيانات في Iceberg، أنشئ جدولًا باستخدام محرك الجدول IcebergS3. لاحظ أنه يجب تبسيط المخطط مقارنةً بجدول MergeTree المصدر. يدعم ClickHouse نظام أنواع أكثر ثراءً من Iceberg وملفات Parquet الأساسية، لذا فإن الأنواع مثل Enum وLowCardinality وUInt8 غير مدعومة في Iceberg ويجب تحويلها إلى أنواع متوافقة.

إدراج مجموعة فرعية من البيانات

استخدم INSERT INTO SELECT لكتابة البيانات من جدول MergeTree إلى جدول Iceberg. في هذا المثال، نُدرِج معاملات لندن فقط:

الاستعلام عن جدول Iceberg

تُخزَّن البيانات الآن بصيغة Iceberg في التخزين الكائني، ويمكن الاستعلام عنها عبر ClickHouse أو أي أداة أخرى تقرأ Iceberg:

كتابة النتائج المجمّعة

لا تقتصر جداول Iceberg على تخزين الصفوف الخام، بل يمكنها أيضًا الاحتفاظ بمخرجات عمليات التجميع والتحويل، أي نتائج عمليات ETL التي تُنفَّذ داخل ClickHouse. ويفيد ذلك في نشر الملخصات المحسوبة مسبقًا إلى lakehouse لاستخدامها في المراحل اللاحقة.

أنشئ جدول Iceberg للبيانات المجمّعة

إدراج البيانات المُجمَّعة

احسب متوسط أسعار العقارات حسب البلدة، ثم اكتب النتائج مباشرةً في Iceberg:

الاستعلام عن الجدول المجمّع

يمكن الآن للأدوات الأخرى — ولمثيلات ClickHouse الأخرى — قراءة مجموعة البيانات المحسوبة مسبقًا:
آخر تعديل في ١ يوليو ٢٠٢٦