> ## Documentation Index
> Fetch the complete documentation index at: https://private-7c7dfe99-locadex-parallel-t9n-main-irpovz79o3kkpgs4.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

> يوفّر هذا المحرك تكاملًا بوضع القراءة فقط مع جداول Delta Lake الموجودة في Amazon S3.

# محرك جدول DeltaLake

يوفّر هذا المحرك تكاملًا مع جداول [Delta Lake](https://github.com/delta-io/delta) الموجودة في S3 وGCP وAzure Storage، ويدعم عمليتَي القراءة والكتابة كلتيهما (بدءًا من v25.10).

<div id="create-table">
  ## إنشاء جدول DeltaLake
</div>

لإنشاء جدول DeltaLake، يجب أن يكون الجدول موجودًا مسبقًا في S3 أو GCP أو Azure Storage. لا تقبل الأوامر أدناه معلمات DDL لإنشاء جدول جديد.

<Tabs>
  <Tab title="S3">
    **البنية**

    ```sql theme={null}
    CREATE TABLE table_name
    ENGINE = DeltaLake(url, [aws_access_key_id, aws_secret_access_key,] [extra_credentials])
    ```

    **معلمات المحرك**

    * `url` — عنوان URL للـ bucket مع المسار إلى جدول Delta Lake الحالي.
    * `aws_access_key_id`, `aws_secret_access_key` - بيانات اعتماد طويلة الأجل لمستخدم حساب [AWS](https://aws.amazon.com/). يمكنك استخدامها لمصادقة طلباتك. هذه المعلمة اختيارية. وإذا لم يتم تحديد بيانات الاعتماد، فسيتم استخدامها من ملف الإعدادات.
    * `extra_credentials` - اختياري. يُستخدم لتمرير `role_arn` للوصول المستند إلى الأدوار في ClickHouse Cloud. راجع [تأمين S3](/ar/products/cloud/guides/data-sources/accessing-s3-data-securely) لمعرفة خطوات الإعداد.

    يمكن تحديد معلمات المحرك باستخدام [المجموعات المسماة](/ar/concepts/features/configuration/server-config/named-collections).

    **مثال**

    ```sql theme={null}
    CREATE TABLE deltalake
    ENGINE = DeltaLake('http://mars-doc-test.s3.amazonaws.com/clickhouse-bucket-3/test_table/', 'ABC123', 'Abc+123')
    ```

    باستخدام المجموعات المسماة:

    ```xml theme={null}
    <clickhouse>
        <named_collections>
            <deltalake_conf>
                <url>http://mars-doc-test.s3.amazonaws.com/clickhouse-bucket-3/</url>
                <access_key_id>ABC123</access_key_id>
                <secret_access_key>Abc+123</secret_access_key>
            </deltalake_conf>
        </named_collections>
    </clickhouse>
    ```

    ```sql theme={null}
    CREATE TABLE deltalake
    ENGINE = DeltaLake(deltalake_conf, filename = 'test_table')
    ```
  </Tab>

  <Tab title="GCP">
    **البنية**

    ```sql theme={null}
    -- استخدام عنوان URL عبر HTTPS (موصى به)
    CREATE TABLE table_name
    ENGINE = DeltaLake('https://storage.googleapis.com/<bucket>/<path>/', '<access_key_id>', '<secret_access_key>')
    ```

    <Info>
      **مُعرّف URI الخاص بـ gsutil غير مدعوم**

      مُعرّف URI الخاص بـ gsutil مثل `gs://clickhouse-docs-example-bucket` غير مدعوم. يُرجى استخدام عنوان URL يبدأ بـ `https://storage.googleapis.com`
    </Info>

    **الوسائط**

    * `url` — عنوان URL لـ GCS bucket المؤدي إلى جدول Delta Lake. يجب استخدام التنسيق `https://storage.googleapis.com/<bucket>/<path>/`
      (وهو API endpoint الخاص بـ GCS XML)، أو `gs://<bucket>/<path>/` الذي يُحوَّل تلقائيًا.
    * `access_key_id` — مفتاح الوصول إلى GCS. أنشِئه عبر Google Cloud Console → Cloud Storage → Settings → Interoperability.
    * `secret_access_key` — المفتاح السري لـ GCS.

    **المجموعات المسماة**

    يمكنك أيضًا استخدام المجموعات المسماة.
    على سبيل المثال:

    ```sql theme={null}
    CREATE NAMED COLLECTION gcs_creds AS
    access_key_id = '<access_key>',
    secret_access_key = '<secret>';

    CREATE TABLE gcpDeltaLake
    ENGINE = DeltaLake(gcs_creds, url = 'https://storage.googleapis.com/<bucket>/<path>')
    ```
  </Tab>

  <Tab title="Azure">
    **البنية**

    ```sql theme={null}
    CREATE TABLE table_name
    ENGINE = DeltaLake(connection_string|storage_account_url, container_name, blobpath, [account_name, account_key, format, compression])
    ```

    **الوسائط**

    * `connection_string` — سلسلة اتصال Azure
    * `storage_account_url` — عنوان URL لحساب Azure Storage (على سبيل المثال، [https://account.blob.core.windows.net](https://account.blob.core.windows.net))
    * `container_name` — اسم Azure container
    * `blobpath` — المسار إلى جدول Delta Lake داخل الـ container
    * `account_name` — اسم حساب Azure Storage
    * `account_key` — مفتاح حساب Azure Storage
  </Tab>
</Tabs>

<div id="insert-data">
  ## كتابة البيانات باستخدام جدول DeltaLake
</div>

بعد إنشاء جدول باستخدام محرك جدول DeltaLake، يمكنك إدراج البيانات فيه باستخدام:

```sql theme={null}
SET allow_delta_lake_writes = 1;

INSERT INTO deltalake(id, firstname, lastname, gender, age)
VALUES (1, 'John', 'Smith', 'M', 32);
```

<Note>
  لا تُدعَم الكتابة باستخدام محرك الجدول إلا عبر delta kernel.
  الكتابة إلى Azure غير مدعومة بعد، لكنها تعمل مع S3 وGCS.

  تُعد عمليات الكتابة إلى Delta Lake ميزة Beta ويجب تمكينها باستخدام `SET allow_delta_lake_writes = 1` (متاح بدءًا من الإصدار 26.7؛ وفي الإصدارات الأقدم استخدم `SET allow_experimental_delta_lake_writes = 1`).
</Note>

<div id="data-cache">
  ### ذاكرة التخزين المؤقت للبيانات
</div>

يدعم محرك جدول `DeltaLake` ودالة الجدول التخزين المؤقت للبيانات، تمامًا كما هو الحال مع أنظمة التخزين `S3` و`AzureBlobStorage` و`HDFS`. راجع ["محرك جدول S3"](/ar/reference/engines/table-engines/integrations/s3#data-cache) لمزيد من التفاصيل.

<div id="see-also">
  ## راجع أيضًا
</div>

* [دالة الجدول deltaLake](/ar/reference/functions/table-functions/deltalake)
