Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

DataLakeCatalog

يتيح لك محرك قاعدة البيانات DataLakeCatalog ربط ClickHouse بكتالوجات البيانات الخارجية والاستعلام عن البيانات بتنسيقات الجداول المفتوحة من دون الحاجة إلى تكرار البيانات. ويحوّل ذلك ClickHouse إلى محرك استعلامات قوي يعمل بسلاسة مع البنية التحتية القائمة لبحيرة البيانات لديك.

الكتالوجات المدعومة

يدعم محرك DataLakeCatalog كتالوجات البيانات التالية:

  • AWS Glue Catalog - لجداول Iceberg في بيئات AWS
  • Databricks Unity Catalog - لجداول Delta Lake وIceberg
  • Hive Metastore - كتالوج نظام Hadoop التقليدي
  • REST Catalogs - أي كتالوج يدعم مواصفة Iceberg REST

إنشاء قاعدة بيانات

ستحتاج إلى تمكين الإعدادات التالية لاستخدام محرك DataLakeCatalog:

SET allow_experimental_database_iceberg = 1;
SET allow_experimental_database_unity_catalog = 1;
SET allow_experimental_database_glue_catalog = 1;
SET allow_experimental_database_hms_catalog = 1;
SET allow_experimental_database_paimon_rest_catalog = 1;

يمكن إنشاء قواعد بيانات باستخدام المحرك DataLakeCatalog وفق الصيغة التالية:

CREATE DATABASE database_name
ENGINE = DataLakeCatalog(catalog_endpoint[, user, password])
SETTINGS
catalog_type,
[...]

الإعدادات التالية مدعومة:

الإعداد الوصف
catalog_type نوع الكتالوج: glue، unity (Delta)، rest (Iceberg)، hive، onelake (Iceberg)، delta_sharing (Iceberg، مساحات أسماء مسطحة)، horizon (Snowflake Horizon Iceberg REST)
warehouse اسم الـwarehouse/قاعدة البيانات المراد استخدامها في الكتالوج.
catalog_credential بيانات اعتماد المصادقة الخاصة بالكتالوج (مثل مفتاح API أو رمز وصول)
auth_header رأس HTTP مخصص للمصادقة مع خدمة الكتالوج
auth_scope نطاق OAuth2 للمصادقة (إذا كنت تستخدم OAuth)
storage_endpoint URL نقطة النهاية للتخزين الأساسي
oauth_server_uri URI لخادم تخويل OAuth2 للمصادقة
vended_credentials قيمة منطقية تشير إلى ما إذا كان يجب استخدام بيانات الاعتماد التي يوفّرها الكتالوج (يدعم AWS S3 وAzure ADLS Gen2)
aws_access_key_id معرّف مفتاح الوصول في AWS للوصول إلى S3/Glue (إذا لم تكن تستخدم بيانات الاعتماد التي يوفّرها الكتالوج)
aws_secret_access_key مفتاح الوصول السري في AWS للوصول إلى S3/Glue (إذا لم تكن تستخدم بيانات الاعتماد التي يوفّرها الكتالوج)
aws_role_arn ARN الخاص بدور IAM المطلوب تولّيه للوصول إلى AWS/Glue. عند تعيينه، يستخدم ClickHouse خدمة AWS STS مع AssumeRole وبيانات الاعتماد الأساسية من aws_access_key_id وaws_secret_access_key عند توفيرهما معًا، أو من سلسلة بيانات اعتماد AWS الافتراضية بخلاف ذلك (يجب أن يثق الدور بالهوية التي يعمل الخادم بموجبها).
aws_role_session_name اسم الجلسة المستخدم لاستدعاء AWS STS AssumeRole. اختياري؛ والقيمة الافتراضية هي ClickHouseSession.
aws_external_id المعرّف الخارجي الذي يُمرَّر إلى AWS STS AssumeRole، بما يتطابق مع شرط sts:ExternalId في سياسة الثقة الخاصة بالدور. استخدم هذا عندما يكون الدور مملوكًا لجهة خارجية، مثل ClickHouse Cloud.
region منطقة AWS الخاصة بالخدمة (مثل us-east-1)
dlf_access_key_id معرّف مفتاح الوصول للوصول إلى DLF
dlf_access_key_secret مفتاح الوصول السري للوصول إلى DLF
force_add_bucket عند إنشاء عناوين URL لتخزين الكائنات من موقع الجدول الذي يوفّره الكتالوج وstorage_endpoint، أضِف اسم الـbucket/Container في البداية حتى إذا كانت نقطة النهاية تتضمنه بالفعل. القيمة الافتراضية: false. اضبطها على true للكتالوجات التي تعيد مسارات من دون الـbucket وتتطلب إضافته في خطوة إنشاء عنوان URL (مسارات على نمط Polaris).

أمثلة

راجع الأقسام التالية للاطلاع على أمثلة لاستخدام محرك DataLakeCatalog:

  • Unity Catalog
  • Glue Catalog
  • OneLake Catalog يمكن استخدامه عند تمكين allow_experimental_database_iceberg أو allow_database_iceberg.
CREATE DATABASE database_name
ENGINE = DataLakeCatalog(catalog_endpoint)
SETTINGS
    catalog_type = 'onelake',
    warehouse = warehouse,
    onelake_tenant_id = tenant_id,
    oauth_server_uri = server_uri,
    auth_scope = auth_scope,
    onelake_client_id = client_id,
    onelake_client_secret = client_secret;
SHOW TABLES IN database_name;
SELECT count() from database_name.table_name;

للمصادقة من دون مشاركة السر الخاص بالعميل، اضبط onelake_bearer_token على رمز Bearer تم الحصول عليه مسبقًا (ضمن النطاق https://storage.azure.com) بدلًا من onelake_client_id/onelake_client_secret. لا يُجدِّد ClickHouse هذا الرمز، لذا يجب إعادة إنشاء قاعدة البيانات بعد انتهاء صلاحيته.

Navigation