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

# Fabric OneLake

> في هذا الدليل، سنستعرض معك خطوات الاستعلام عن بياناتك في Microsoft OneLake.

export const galaxyOnClick = eventName => () => {
  try {
    if (typeof window !== "undefined" && window.galaxy && eventName) {
      window.galaxy.track(eventName, {
        interaction: "click"
      });
    }
  } catch (e) {}
};

export const BetaBadge = ({link, galaxyTrack, galaxyEvent}) => {
  if (link) {
    return <a href={link} target="_blank" rel="noopener noreferrer" className="betaBadge" onClick={galaxyTrack && galaxyEvent ? galaxyOnClick(galaxyEvent) : undefined}>
                <Icon />
                <span>Beta</span>
            </a>;
  }
  return <div className="betaBadge">
            <Icon />
            <span>
                ميزة Beta. 
                <u>
                    <a href="/docs/beta-and-experimental-features#beta-features">
                        مزيد من المعلومات.
                    </a>
                </u>
            </span>
        </div>;
};

يدعم ClickHouse التكامل مع عدة كتالوجات ‏(مثل OneLake وUnity وGlue وPolaris وغيرها). سيوضح لك هذا الدليل الخطوات اللازمة للاستعلام عن بياناتك المخزنة في Microsoft OneLake باستخدام ClickHouse و[OneLake](https://learn.microsoft.com/en-us/fabric/onelake/onelake-overview).

يدعم Microsoft OneLake عدة تنسيقات جداول ضمن بيئة lakehouse الخاصة به. ومع ClickHouse، يمكنك الاستعلام عن جداول Iceberg.

<Note>
  نظرًا لأن هذه الميزة لا تزال في المرحلة التجريبية، فستحتاج إلى تفعيلها باستخدام:
  `SET allow_database_iceberg = 1;`
</Note>

<div id="gathering-requirements">
  ## جمع المتطلبات الخاصة بـ OneLake
</div>

قبل الاستعلام عن جدولك في Microsoft Fabric، ستحتاج إلى جمع المعلومات التالية:

* معرّف المستأجر لـ OneLake (Entra ID الخاص بك)
* معرّف التطبيق (client)
* السرّ الخاص بالعميل
* معرّف warehouse ومعرّف عنصر البيانات

معرّف warehouse لديك هو Workspace ID الخاص بك.

بالنسبة إلى Data Item ID، نوصي باستخدام Lakehouse ID الخاص بك. وفقًا لاختباراتنا، لا يعمل هذا مع Warehouse ID.

راجع [وثائق Microsoft OneLake](http://learn.microsoft.com/en-us/fabric/onelake/table-apis/table-apis-overview#prerequisites) للمساعدة في العثور على هذه القيم.

<div id="creating-a-connection-between-unity-catalog-and-clickhouse">
  ## إنشاء اتصال بين OneLake وClickHouse
</div>

بعد توفر المعلومات المطلوبة أعلاه، يمكنك الآن إنشاء اتصال بين Microsoft OneLake وClickHouse، ولكن قبل ذلك يجب تفعيل الكتالوجات:

```sql theme={null}
SET allow_database_iceberg=1
```

<div id="connect-onelake">
  ### الاتصال بـ OneLake
</div>

```sql theme={null}
CREATE DATABASE onelake_catalog
ENGINE = DataLakeCatalog('https://onelake.table.fabric.microsoft.com/iceberg')
SETTINGS
catalog_type = 'onelake',
warehouse = 'warehouse_id/data_item_id',
onelake_tenant_id = '<tenant_id>',
oauth_server_uri = 'https://login.microsoftonline.com/<tenant_id>/oauth2/v2.0/token',
auth_scope = 'https://storage.azure.com/.default',
onelake_client_id = '<client_id>',
onelake_client_secret = '<client_secret>'
```

<div id="querying-onelake-using-clickhouse">
  ## الاستعلام عن OneLake باستخدام ClickHouse
</div>

الآن وبعد إعداد الاتصال، يمكنك البدء في الاستعلام عن OneLake:

```sql theme={null}
SHOW TABLES FROM onelake_catalog
```

```response theme={null}
Query id: 8f6124c4-45c2-4351-b49a-89dc13e548a7

   ┌─name──────────────────────────┐
1. │ year_2017.green_tripdata_2017 │
2. │ year_2018.green_tripdata_2018 │
3. │ year_2019.green_tripdata_2019 │
4. │ year_2020.green_tripdata_2020 │
5. │ year_2022.green_tripdata_2022 │
   └───────────────────────────────┘
```

إذا كنت تستخدم عميل Iceberg، فلن تظهر سوى جداول Delta التي تكون فيها Uniform مفعّلة:

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

```sql theme={null}
SELECT *
FROM onelake_catalog.`year_2017.green_tripdata_2017`
LIMIT 1
```

```response theme={null}
Query id: db6b4bda-cc58-4ca1-8891-e0d14f02c890

Row 1:
──────
VendorID:              2
lpep_pickup_datetime:  2017-05-18 16:55:43.000000
lpep_dropoff_datetime: 2017-05-18 18:04:11.000000
store_and_fwd_flag:    N
RatecodeID:            2
PULocationID:          130
DOLocationID:          48
passenger_count:       2
trip_distance:         12.43
fare_amount:           52
extra:                 4.5
mta_tax:               0.5
tip_amount:            0
tolls_amount:          33
ehail_fee:             ᴺᵁᴸᴸ
improvement_surcharge: 0.3
total_amount:          90.3
payment_type:          2
trip_type:             1
congestion_surcharge:  ᴺᵁᴸᴸ
source_file:           green_tripdata_2017-05.parquet
```

<Info>
  **علامات الاقتباس المعكوسة (\`) مطلوبة**

  علامات الاقتباس المعكوسة (\`) مطلوبة لأن ClickHouse لا يدعم أكثر من حيز أسماء واحد.
</Info>

لفحص تعريف DDL للجدول:

```sql theme={null}
SHOW CREATE TABLE onelake_catalog.`year_2017.green_tripdata_2017`
```

```response theme={null}
Query id: 8bd5bd8e-83be-453e-9a88-32de12ba7f24

   ┌─statement───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
1. │ CREATE TABLE onelake_catalog.`year_2017.green_tripdata_2017`                                                                                                               ↴│
   │↳(                                                                                                                                                                          ↴│
   │↳    `VendorID` Nullable(Int64),                                                                                                                                            ↴│
   │↳    `lpep_pickup_datetime` Nullable(DateTime64(6, 'UTC')),                                                                                                                 ↴│
   │↳    `lpep_dropoff_datetime` Nullable(DateTime64(6, 'UTC')),                                                                                                                ↴│
   │↳    `store_and_fwd_flag` Nullable(String),                                                                                                                                 ↴│
   │↳    `RatecodeID` Nullable(Int64),                                                                                                                                          ↴│
   │↳    `PULocationID` Nullable(Int64),                                                                                                                                        ↴│
   │↳    `DOLocationID` Nullable(Int64),                                                                                                                                        ↴│
   │↳    `passenger_count` Nullable(Int64),                                                                                                                                     ↴│
   │↳    `trip_distance` Nullable(Float64),                                                                                                                                     ↴│
   │↳    `fare_amount` Nullable(Float64),                                                                                                                                       ↴│
   │↳    `extra` Nullable(Float64),                                                                                                                                             ↴│
   │↳    `mta_tax` Nullable(Float64),                                                                                                                                           ↴│
   │↳    `tip_amount` Nullable(Float64),                                                                                                                                        ↴│
   │↳    `tolls_amount` Nullable(Float64),                                                                                                                                      ↴│
   │↳    `ehail_fee` Nullable(Float64),                                                                                                                                         ↴│
   │↳    `improvement_surcharge` Nullable(Float64),                                                                                                                             ↴│
   │↳    `total_amount` Nullable(Float64),                                                                                                                                      ↴│
   │↳    `payment_type` Nullable(Int64),                                                                                                                                        ↴│
   │↳    `trip_type` Nullable(Int64),                                                                                                                                           ↴│
   │↳    `congestion_surcharge` Nullable(Float64),                                                                                                                              ↴│
   │↳    `source_file` Nullable(String)                                                                                                                                         ↴│
   │↳)                                                                                                                                                                          ↴│
   │↳ENGINE = Iceberg('abfss://<warehouse_id>@onelake.dfs.fabric.microsoft.com/<data_item_id>/Tables/year_2017/green_tripdata_2017') │
   └─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘
```

<div id="loading-data-from-onelake-into-clickhouse">
  ## استيراد البيانات من بحيرة البيانات إلى ClickHouse
</div>

إذا كنت بحاجة إلى استيراد البيانات من OneLake إلى ClickHouse:

```sql theme={null}
CREATE TABLE trips
ENGINE = MergeTree
ORDER BY coalesce(VendorID, 0)
AS SELECT *
FROM onelake_catalog.`year_2017.green_tripdata_2017`
```

```response theme={null}
Query id: d15983a6-ef6a-40fe-80d5-19274b9fe328

Ok.

0 rows in set. Elapsed: 32.570 sec. Processed 11.74 million rows, 275.37 MB (360.36 thousand rows/s., 8.45 MB/s.)
Peak memory usage: 1.31 GiB.
```
