Aracılığıyla paylaş


OneLake katalog federasyonunu etkinleştirme

Önemli

Bu özellik Genel Önizleme aşamasındadır.

Bu makalede katalog federasyonu kullanarak OneLake'te verilerin nasıl okunduğu gösterilmektedir. Bu, Unity Kataloğu sorgularının doğrudan OneLake depolama alanında çalışmasını sağlar.

OneLake federasyonu, Lakehouse veya Warehouse'unuzda depolanan verileri kopyalamadan analiz ederek Azure Databricks'teki güçlü analiz ve AI/BI özelliklerini doğrudan OneLake verilerinize getirmenizi sağlar. Veri erişimi salt okunurdur.

Başlamadan önce

Katalog federasyonu kullanarak OneLake üzerinde federasyon sorguları çalıştırmak için aşağıdaki gereksinimleri karşılamanız gerekir:

Çalışma alanı gereksinimleri:

  • Unity Kataloğu için etkinleştirilen çalışma alanı.

İşlem gereksinimleri:

  • İşlem kaynağınızdan hedef veritabanı sistemlerine ağ bağlantısı. Bkz: Lakehouse Federasyonu için Ağ Önerileri.
  • Azure Databricks işlem, Databricks Runtime 18.0 veya üzerini ve standart erişim modunu kullanmalıdır.
  • SQL ambarları 2025.40 veya üzerini kullanmalıdır.

Gerekli izinler:

  • Bağlantı oluşturmak için meta veri deposu yöneticisi veya çalışma alanına bağlı Unity Kataloğu meta veri deposunda ve CREATE CONNECTION ayrıcalıklarına sahip CREATE STORAGE CREDENTIAL bir kullanıcı olmanız gerekir.
  • Yabancı katalog oluşturmak için meta veri deposunda CREATE CATALOG iznine sahip olmanız ve bağlantının sahibi olmanız veya bağlantıda CREATE FOREIGN CATALOG ayrıcalığına sahip olmanız gerekir.

Aşağıdaki her görev tabanlı bölümde ek izin gereksinimleri belirtilir.

  • Azure'da kaynak oluşturma, Doku'da erişimi yapılandırma ve Azure Databricks'te Unity Kataloğu'nu yönetme izinlerine sahip olmanız gerekir.
  • Desteklenen kimlik doğrulama yöntemleri:
    • Azure Databricks için Erişim Bağlayıcısı aracılığıyla Azure Yönetilen Kimliği
    • Azure hizmet sorumlusu

Kiracı ve çalışma alanı ayarları (Fabric):

  • Doku yöneticisinin Hizmet sorumlularının Doku API'leri kiracı ayarını kullanabilmesini etkinleştirmesi gerekir. Bu durum, yönetilen kimliklerin ve hizmet ilke sahiplerinin Fabric ile kimlik doğrulaması yapmasına imkan verir. Daha fazla bilgi için bkz. Hizmet sorumlusu kiracı ayarı.
  • Doku yöneticisi, OneLake kiracısı aracılığıyla Verilere erişmek için Doku dışında çalışan uygulamalara izin ver ayarını etkinleştirmelidir. Bu, Azure Databricks'in OneLake depolama alanına bağlanmasına olanak tanır. Daha fazla bilgi için bkz. Doku dışında çalışan uygulamaların OneLake aracılığıyla verilere erişmesine izin verme.
  • Verilerinizi içeren Doku çalışma alanında OneLake kullanıcı temsilcisi SAS belirteçleriyle kimlik doğrulaması etkinleştirilmelidir. Bu ayarı etkinleştirmek için Çalışma alanı ayarları>Temsilci ayarları>OneLake ayarları'na gidin.

Aşağıdaki Fabric veri öğeleri desteklenmektedir:

  • Fabric Lakehouse
  • Doku Ambarı

Katalog federasyonu kurma

Aşağıdaki adımlar, OneLake federasyonu için bağlantı ve yabancı katalog oluşturma işleminde size yol gösterir.

1. Adım: Azure kimlik doğrulamayı ayarlama

OneLake federasyonu iki kimlik doğrulama yöntemini destekler.

  • Azure Managed Identity (önerilir): Yönetilen kimlik ile Databricks Erişim Bağlayıcısı kullanır.
  • Azure Hizmet Sorumlusu: İstemci kimlik bilgileriyle bir Microsoft Entra ID uygulaması kullanır. Bu yöntem, Databricks'in farklı bir Azure kiracısında bulunan Doku çalışma alanlarına erişmesine olanak tanıyarak kiracılar arası kimlik doğrulamasını destekler.

Seçenek A: Erişim bağlayıcısı oluşturma (Yönetilen Kimlik)

Databricks Access Bağlayıcısı, Azure Databricks'in OneLake ile kimlik doğrulaması yapmak için kullandığı bir yönetilen kimlik oluşturur.

  1. Azure Portal'da Azure Databricks kaynağı için yeni bir Access Bağlayıcısı arayın ve oluşturun.

  2. Bağlayıcıyı oluşturmak için istemleri izleyin. Bu kaynak, sistem tarafından atanan bir Yönetilen Kimlik oluşturur.

  3. Yeni oluşturulan bağlayıcının Kaynak Kimliğini kaydedin. Unity Kataloğu depolama kimlik bilgilerini oluştururken bu kimlik gereklidir.

    Kaynak kimliği şu biçimdedir:

    /subscriptions/<subscription-id>/resourceGroups/<resource-group>/providers/Microsoft.Databricks/accessConnectors/<connector-name>
    

Erişim bağlayıcıları oluşturma ve yönetilen kimlikleri kullanma hakkında daha fazla bilgi için bkz. Depolamaya erişmek için Unity Kataloğu'nda Azure yönetilen kimliklerini kullanma.

Seçenek B: Hizmet sorumlusunu kaydetme

Yönetilen kimlik yerine hizmet sorumlusu kullanmayı tercih ediyorsanız:

  1. Azure Portal'da Microsoft Entra ID>Uygulama kayıtları'na gidin ve yeni bir uygulama kaydedin (veya mevcut bir uygulamayı kullanın).
  2. Uygulama (istemci) kimliğini ve Dizin (kiracı) kimliğini kaydedin.
  3. Sertifikalar ve sırlar altında yeni bir istemci sırrı oluşturun ve gizli değeri kaydedin.

2. Adım: Dokuda izinler verme

Yönetilen kimliğe veya hizmet sorumlusuna Fabric verilerini okuma izni verin.

  1. Fabric portalında, Lakehouse veya Warehouse veri öğelerinizi içeren çalışma alanına gidin.
  2. Çalışma alanında Çalışma alanı ayarları dişli simgesine ve ardından Erişimi yönet'e tıklayın.
  3. Kişi veya grup ekle'ye tıklayın.
  4. Yönetilen Kimlik'i veya hizmet sorumlusunu arayın ve seçin. Yönetilen Kimlik için ad, daha önce oluşturduğunuz erişim bağlayıcısı ile eşleşmelidir. Hizmet sorumlusu için kaydettiğiniz uygulama adını arayın.
  5. Kimliği en azından Üye rolüne atayın. Katkıda Bulunan veya Yönetici rolleri de atayabilirsiniz.
  6. Ekle'yi tıklatın.
  7. Kimliğin erişim listesinde uygun role sahip olarak göründüğünü doğrulayın. Tek tek Lakehouse ve Warehouse öğeleri üzerindeki erişim izinleri, çalışma alanı düzeyindeki rolden devralınır.

3. Adım: Depolama kimlik bilgisi oluşturma

Unity Kataloğu'nda 1. Adımda yapılandırdığınız kimliğe başvuran bir depolama kimlik bilgisi oluşturun.

  1. Azure Databricks çalışma alanınızda Veri simgesine tıklayın.Katalog'a gidin.
  2. Katalog bölmesinin üst kısmında Ekle veya artı simgesi artı simgesine tıklayın ve menüden Kimlik bilgisi oluştur'u seçin.

Yönetilen Kimlik kullanıyorsanız:

  1. Yeni kimlik bilgisi oluşturma kalıcı bölümünde, Kimlik Bilgisi Türü için Azure Yönetilen Kimlik'i seçin.
  2. Kimlik bilgisi adı için depolama kimlik bilgisi için bir Ad girin (örneğin, onelake_storage_cred).
  3. Access bağlayıcısı kimliği için daha önce oluşturduğunuz erişim bağlayıcısının kaynak kimliğini girin.
  4. (İsteğe bağlı) Açıklama ekleyin.
  5. Oluştur'utıklayın.

Hizmet Sorumlusu kullanıyorsanız:

Katalog Gezgini'nde bir hizmet ilkesi depolama kimlik bilgisi oluşturamazsınız. Azure Databricks hesabı yöneticisi olmanız ve Depolama Kimlik Bilgileri API'sini kullanmanız gerekir. Örneğin:

curl -X POST -n \
https://<databricks-instance>/api/2.1/unity-catalog/storage-credentials \
-d '{
   "name": "<storage-credential-name>",
   "read_only": true,
   "azure_service_principal": {
      "directory_id": "<directory-id>",
      "application_id": "<application-id>",
      "client_secret": "<client-secret>"
   },
   "skip_validation": "false"
   }'

Databricks Terraform sağlayıcısını databricks_storage_credential ile kullanarak depolama kimlik bilgileri oluşturabilirsiniz.

4. Adım: Unity Kataloğu bağlantısı oluşturma

OneLake'e erişmek için depolama kimlik bilgilerini kullanan bir Unity Kataloğu bağlantısı oluşturun.

Katalog Tarayıcısı

  1. Azure Databricks çalışma alanınızda Veri simgesine tıklayın.Katalog'a gidin.
  2. Katalog bölmesinin üst kısmında Ekle veya artı simgesi artı simgesine tıklayın ve menüden Bağlantı oluştur'u seçin.
  3. Bağlantı temel bilgileri sayfasında bir Bağlantı adı girin (örneğin, onelake_connection).
  4. OneLakebağlantı türünü seçin.
  5. (İsteğe bağlı) Açıklama ekleyin.
  6. Nextöğesine tıklayın.
  7. Bağlantı ayrıntıları sayfasında, Kimlik Bilgileri için önceki adımda oluşturduğunuz depolama kimlik bilgilerini seçin (örneğin, onelake_storage_cred).
  8. Workspace için, Fabric çalışma alanınızın çalışma alanı kimliğini girin.
  9. Bağlantı oluştur'a tıklayın.

SQL

Aşağıdaki komutu bir not defterinde veya Databricks SQL sorgu düzenleyicisinde çalıştırın. Yer tutucu değerlerini değiştirin:

  • <connection-name>: Bağlantının adı.
  • <workspace-id>: OneLake çalışma alanınızın GUID'si.
  • <storage-credential-name>: 3. adımda oluşturduğunuz depolama kimlik bilgilerinin adı.
CREATE CONNECTION <connection-name> TYPE onelake
OPTIONS (
  workspace '<workspace-id>',
  credential '<storage-credential-name>'
);

5. Adım: Yabancı katalog oluşturma

Yabancı bir katalog, belirli bir Fabric veri öğesini Unity Kataloğu'ndaki bir başka kataloğa bağlar.

Fabric veri öğesi kimliğini alma

  1. Fabric portalında hedef Lakehouse veya Warehouse'a gidin.

  2. GUID olan Veri Öğesi Kimliğini kopyalayın (örneğin, f089354e-8366-4e18-aea3-4cb4a3a50b48).

    Bu GUID'yi Doku kullanıcı arabiriminde veya Lakehouse veya Warehouse'a gittiğinizde tarayıcı URL'nizden kopyalayarak bulabilirsiniz:

    https://app.fabric.microsoft.com/groups/<workspace-id>/lakehouses/<data-item-id>?experience=power-bi
    

Kataloğu oluşturma

Katalog Tarayıcısı
  1. Databricks çalışma alanınızda Veri simgesine tıklayın.Katalog'a gidin.
  2. Katalog bölmesinin üst kısmında Ekle veya artı simgesi artı simgesine tıklayın ve menüden Katalog oluştur'u seçin.
  3. Yeni katalog oluştur iletişim kutusunda katalog için bir ad girin (örneğin, fabric_sales).
  4. Yabancı Türü seçin.
  5. 4. Adımda oluşturduğunuz Bağlantıyı seçin (örneğin, onelake_connection).
  6. Veri öğesi için Doku portalından kopyaladığınız veri öğesi kimliğini girin.
  7. (İsteğe bağlı) Yapılandırmanızı doğrulamak için Bağlantıyı test et'e tıklayın.
  8. Oluştur'utıklayın.
SQL

Aşağıdaki SQL komutunu bir not defterinde veya Databricks SQL sorgu düzenleyicisinde çalıştırın. Köşeli parantez içindeki öğeler isteğe bağlıdır. Yer tutucu değerlerini değiştirin:

  • <catalog-name>: Azure Databricks'teki kataloğun adı.
  • <connection-name>: 4. adımda oluşturduğunuz bağlantı.
  • <data-item-id>: Fabric Lakehouse veya Warehouse GUID'i.
CREATE FOREIGN CATALOG [IF NOT EXISTS] <catalog-name> USING CONNECTION <connection-name>
OPTIONS (
  data_item '<data-item-id>'
);

Aşağıdaki isteğe bağlı parametreleri de belirtebilirsiniz:

CREATE FOREIGN CATALOG <catalog-name> USING CONNECTION <connection-name>
OPTIONS (
  data_item '<data-item-id>',
  item_type 'Lakehouse',
  create_volume_for_lakehouse_files 'true'
);
  • item_type: Lakehouse (varsayılan) veya Warehouse.
  • create_volume_for_lakehouse_files: true (varsayılan) veya false. true olduğunda, Lakehouse klasöründeki /Files için bir birim oluşturur. Yalnızca Lakehouse öğeleri için geçerlidir. Bkz . Yapılandırılmamış verilere erişme.

Katalog otomatik olarak eşitlenir ve bu sayede Fabric tabloları anında kullanılabilir hale gelir.

Yapılandırılmamış verilere erişme

Önemli

OneLake federasyonu için yapılandırılmamış veri erişimi Beta sürümündedir.

OneLake federasyonu, Lakehouse klasöründe depolanan /Files yapılandırılmamış verilere salt okunur erişimi destekler. Bu, Unity Katalog veri birimleri aracılığıyla sağlanır.

  • Databricks Runtime 18.1 veya üzeri ya da SQL ambarı sürüm 2026.10 veya üzeri gerektirir.

true olarak ayarlanmış create_volume_for_lakehouse_files yabancı katalog (varsayılan) oluşturduğunuzda, onelake-folders şeması altında otomatik olarak bir birim oluşturulur. Bu hacim Lakehouse klasörüne /Files işaret eder ve orada depolanan dosyalara salt okunur erişim sağlar.

Birim yolunu kullanarak dosyalara göz atabilir ve dosyaları okuyabilirsiniz:

LIST '/Volumes/<catalog-name>/onelake-folders/files/';
df = spark.read.format("binaryFile").load("/Volumes/<catalog-name>/onelake-folders/files/")

Yapılandırılmış dosyaları doğrudan da sorgulayabilirsiniz:

SELECT * FROM parquet.`/Volumes/<catalog-name>/onelake-folders/files/table.parquet`

Federasyon tablolarında izinler verme

Katalog federasyonu ayarlandıktan sonra, kullanıcıların federasyon tablolarına erişmek için uygun Unity Kataloğu izinlerine sahip olması gerekir:

  • Tüm kullanıcıların, sırasıyla katalog üzerinde USE CATALOG ve şema üzerinde USE SCHEMA izinlerine ihtiyacı vardır.
  • Federasyon tablosundan okumak için kullanıcıların SELECT iznine sahip olması gerekir.

Unity Kataloğu ayrıcalıkları ve nasıl verileceğini öğrenmek için bkz. Unity Kataloğu'nda ayrıcalıkları yönetme.

OneLake verilerini sorgulama

Kurulum tamamlandıktan sonra OneLake verilerini Unity Kataloğu'nda bulabilir ve sorgulayabilirsiniz.

Kataloğa göz atın

  1. Databricks çalışma alanınızda Katalog Gezgini'ne gidin.
  2. Oluşturduğunuz kataloğu bulun (örneğin, fabric_sales).
  3. Fabric Lakehouse veya Warehouse'tan senkronize şemaları ve tabloları görmek için kataloğu genişletin.

Sorgu çalıştırma

Databricks SQL veya not defterlerinde üç bölümlü adlandırma kuralını (catalog.schema.table) kullanın:

SELECT COUNT(*)
FROM fabric_sales.silver.customer_details;
SELECT
  customer_id,
  customer_name,
  total_purchases
FROM fabric_sales.silver.customer_details
WHERE total_purchases > 1000
ORDER BY total_purchases DESC
LIMIT 10;

Sınırlamalar

OneLake federasyonunun sınırlamaları şunlardır:

  • Salt okunur erişim: Yalnızca SELECT sorgular desteklenir. Yazma işlemleri kullanılamaz.
  • Kimlik doğrulaması: Azure Yönetilen Kimlik ve Azure hizmet sorumlusu desteklenen kimlik doğrulama yöntemleridir.
  • Desteklenen veri öğeleri: Yalnızca Fabric Lakehouse ve Warehouse öğeleri desteklenir.
  • İşlem gereksinimleri: Ayrılmış erişim modu desteklenmez.
  • Karmaşık veri türleri (diziler, haritalar, yapılar) desteklenmez.
  • Materialize edilmiş görünümler ve görünümler desteklenmez.
  • Yapılandırılmamış veri erişimi (birimler) için Databricks Runtime 18.1 veya üstü ya da SQL veri ambarı sürümü 2026.10 veya üstü gerekir.