Skip to main content
يمكن لـ ClickHouse الاتصال بـ Snowflake Horizon Catalog عبر واجهة برمجة تطبيقات Iceberg REST التي يوفّرها Horizon (والتي تعتمد على Apache Polaris). ويتيح لك ذلك قراءة جداول Iceberg التي تديرها Snowflake وكتابتها من ClickHouse باستخدام محرك قاعدة البيانات DataLakeCatalog مع catalog_type = 'horizon'. يرتبط Horizon بـ Snowflake Open Catalog / Polaris المستضاف ذاتيًا، لكنه يختلف عنهما:
بما أن هذه الميزة في مرحلة Beta، فعّلها باستخدام: SET allow_experimental_database_iceberg = 1; (أو SET allow_database_iceberg = 1;، حسب إصدار ClickHouse لديك).

المتطلبات المسبقة

  • حساب Snowflake يتضمن جداول Iceberg مُدارة من Snowflake
  • نقطة نهاية Horizon Iceberg REST: https://<organization>-<account>.snowflakecomputing.com/polaris/api/catalog
  • دور في Snowflake لديه امتيازات على جداول Iceberg (وامتيازات كتابة إذا كنت ستنفذ INSERT)
  • المصادقة باستخدام أحد الخيارات التالية:
    • رمز وصول برمجي (PAT)
    • JWT لزوج مفاتيح يُستبدل برمز وصول
    • رمز وصول OAuth خارجي (كرمز حامل في auth_header)
  • تخزين كائنات يمكن لـ ClickHouse الوصول إليه (يُنصح باستخدام بيانات اعتماد موفَّرة)
  • ClickHouse مع دعم DataLakeCatalog لـ Iceberg

إنشاء اتصال

يجب أن يكون warehouse اسم قاعدة البيانات في Snowflake (وليس مستودع Snowflake افتراضيًا). تُكتب معرّفات Snowflake غير المقتبسة بأحرف كبيرة.

الخيار ب: رمز وصول للحامل تم تبادله مسبقًا

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

يُشار عادةً إلى مساحة الاسم (المخطط) والجدول بالصيغة `SCHEMA.table`، ما لم تكن مساحات أسماء الجداول التجريبية مفعّلة.

مسار الكتابة

باستخدام دور لديه صلاحيات INSERT/UPDATE/DELETE (وCREATE ICEBERG TABLE عند إنشاء الجداول)، يمكن لـClickHouse الكتابة من خلال الكتالوج نفسه:
تعتمد صياغة CREATE TABLE الدقيقة على دعم ClickHouse Iceberg / DataLakeCatalog للكتابة في كتالوجات REST في إصدارك؛ وتظهر حالات فشل الامتيازات من Snowflake كأخطاء HTTP للكتالوج.

تحميل البيانات إلى MergeTree

آخر تعديل في ٢٦ أغسطس ٢٠٢٦