Aracılığıyla paylaş


Lakehouse Federasyonu nedir?

Bu makalede, Azure Databricks'i kullanarak birden çok dış veri kaynağında sorgu çalıştırmanızı sağlayan sorgu federasyon platformu Lakehouse Federation tanıtılır. Ayrıca Unity Kataloğu meta veri deponuzda Lakehouse Federasyon bağlantılarının nasıl ayarlanacağı ve yabancı katalogların nasıl oluşturulacağı açıklanır.

Lakehouse Federasyonu nedir?

Lakehouse Federation, Azure Databricks için sorgu federasyon platformudur. Sorgu federasyonu terimi, kullanıcıların ve sistemlerin tüm verileri birleşik bir sisteme geçirmeye gerek kalmadan birden çok veri kaynağında sorgu çalıştırmasına olanak tanıyan bir özellik koleksiyonunu açıklar.

Azure Databricks, sorgu federasyonunu yönetmek için Unity Kataloğu'nu kullanır. Profesyonel SQL ambarlarına, sunucusuz SQL ambarlarına ve Databricks Runtime kümelerine dahil edilen sürücüleri kullanarak popüler veritabanı çözümlerine salt okunur bağlantılar yapılandırırsınız. Unity Kataloğu'nun veri idaresi ve veri kökeni araçları, Azure Databricks çalışma alanlarınızdaki kullanıcılar tarafından yapılan tüm federasyon sorguları için veri erişiminin yönetilmesini ve denetlenmesini sağlar.

Neden Lakehouse Federasyonu Kullanmalısınız?

Lakehouse, veri yedekliliğini ve yalıtımını azaltmak için verilerin merkezi depolanmasını vurgular. Kuruluşunuzun üretimde çok sayıda veri sistemi olabilir ve bağlı sistemlerdeki verileri çeşitli nedenlerle sorgulamak isteyebilirsiniz:

  • Geçici raporlama.
  • Kavram kanıtı çalışması.
  • Yeni ETL işlem hatlarının veya raporların keşif aşaması.
  • Artımlı geçiş sırasında iş yüklerini destekleme.

Bu senaryoların her birinde sorgu federasyonu, verileri yerinde sorgulayabileceğiniz ve karmaşık ve zaman alan ETL işlemlerinden kaçınabileceğiniz için daha hızlı içgörü elde etmenize olanak sağlar.

Lakehouse Federasyonu aşağıdaki kullanım senaryoları için tasarlanmıştır.

  • Azure Databricks'e veri almak istemezsiniz.
  • Sorgularınızın dış veritabanı sistemindeki işlemden yararlanmasını istiyorsunuz.
  • Unity Kataloğu arabirimlerinin ve ayrıntılı erişim denetimi, veri kökeni ve arama gibi veri idaresinin avantajlarından yararlanmak istiyorsunuz.

Lakehouse Federasyon kurulumuna genel bakış

Lakehouse Federation kullanarak bir veri kümesini salt okunur sorgulama için kullanılabilir hale getirmek için aşağıdakileri oluşturursunuz:

  • Bağlantı, Unity Kataloğu'nda bir dış veritabanı sistemine erişmek için bir yol ve kimlik bilgileri belirten güvenli hale getirilebilir bir nesne.

  • Unity Kataloğu'nda bir dış veri sistemindeki bir veritabanını yansıtan ve Azure Databricks çalışma alanınızda bu veri sisteminde salt okunur sorgular gerçekleştirmenizi sağlayan ve Unity Kataloğu'nu kullanarak erişimi yönetmenizi sağlayan güvenli hale getirilebilir bir nesne olan yabancı katalog.

Desteklenen veri kaynakları

Lakehouse Federasyonu aşağıdaki kaynaklara bağlantıları destekler:

Bağlantı gereksinimleri

Ç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 hesaplama, Databricks Runtime 13.3 LTS veya üzerini kullanmalıdır ve Standart veya Özel erişim modunu kullanmalıdır.
  • SQL ambarları profesyonel veya sunucusuz olmalı ve 2023.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 CREATE CONNECTION ayrıcalığına sahip 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.

Bağlantı oluşturma

Bağlantı, bir dış veritabanı sistemine erişmek için bir yol ve kimlik bilgileri belirtir. Bağlantı oluşturmak için, Bir Azure Databricks not defterinde veya Databricks SQL sorgu düzenleyicisinde Katalog Gezgini'ni veya CREATE CONNECTION SQL komutunu kullanabilirsiniz.

Not

Bağlantı oluşturmak için Databricks REST API'sini veya Databricks CLI'yi de kullanabilirsiniz. bkz. POST /api/2.1/unity-catalog/connections ve Unity Catalog komutları.

Gerekli izinler: Meta veri deposu yöneticisi veya ayrıcalığına CREATE CONNECTION sahip kullanıcı.

Katalog Tarayıcısı

  1. Azure Databricks çalışma alanınızda, Katalog simgesinetıklayın.

  2. Kataloğu bölmesinin üst kısmında Ekle veya artı simgesine tıklayın ekle simgesine tıklayın ve menüden Bağlantı ekle seçin.

    Alternatif olarak, Hızlı erişim sayfasında Dış veri düğmesine tıklayın, Bağlantılar sekmesine gidin ve Bağlantı oluşturöğesine tıklayın.

  3. Kullanıcı dostu bir Bağlantı adı girin.

  4. Bağlantı türünü (MySQL veya PostgreSQL gibi veritabanı sağlayıcısı) seçin.

  5. (İsteğe bağlı) Açıklama ekleyin.

  6. İleriöğesine tıklayın.

  7. Bağlantı özelliklerini (konak bilgileri, yol ve erişim kimlik bilgileri gibi) girin.

    Her bağlantı türü farklı bağlantı bilgileri gerektirir. Soldaki içindekiler tablosunda listelenen bağlantı türünüzün makalesine bakın.

  8. Bağlantıoluştur'a tıklayın.

  9. Yabancı katalog için bir ad girin.

  10. (İsteğe bağlı) Çalıştığını onaylamak için Bağlantıyı test et'e tıklayın.

  11. Katalog oluştur'a tıklayın.

  12. Kullanıcıların oluşturduğunuz kataloğa erişebileceği çalışma alanlarını seçin. Tüm çalışma alanları erişilebilirseçebilir veya Çalışma alanına ata'ya tıklayın, çalışma alanlarını seçin ve ardından Atatıklayın.

  13. Tüm katalog nesnelerine erişimi yönetebilecek Sahibi'i değiştirin. Metin kutusuna bir sorumlu yazmaya başlayın ve döndürülen sonuçlarda sorumluya tıklayın.

  14. Katalogda Ayrıcalıkları tanımlayın. Grant'e tıklayın

    1. Katalogdaki nesnelere erişimi olacak Sorumlularını belirtin. Metin kutusuna bir kullanıcı ya da nesne adı yazmaya başlayın ve çıkan sonuçlardan ilgili kullanıcıyı ya da nesneyi seçin.
    2. İmtiyaz ön ayarlarını her bir sorumluya vermek için seçin. Tüm hesap kullanıcılarına varsayılan olarak BROWSE verilir.
      • Katalogdaki nesnelerde ayrıcalıkları vermek için açılan menüden veri okuyucu seçin.
      • Katalogdaki nesnelerde ve read ayrıcalıkları vermek için açılan menüden modify seçin.
      • Vermek istediğiniz ayrıcalıkları el ile seçin.
    3. Onayla seçeneğine tıklayın.
    4. İleriöğesine tıklayın.
    5. Meta Veri sayfasında, etiketlerin anahtar-değer çiftlerini belirtin. Daha fazla bilgi için bkz. Unity Kataloğu'ndaki güvenli nesnelere etiket uygulama.
    6. (İsteğe bağlı) Açıklama ekleyin.
    7. Kaydettıklayın.

SQL

Not defterinde veya SQL sorgu düzenleyicisinde aşağıdaki komutu çalıştırın. Bu örnek, PostgreSQL veritabanına bağlantılar içindir. Seçenekler bağlantı türüne göre farklılık gösterir. Soldaki içindekiler tablosunda listelenen bağlantı türünüzün makalesine bakın.

CREATE CONNECTION <connection-name> TYPE postgresql
OPTIONS (
  host '<hostname>',
  port '<port>',
  user '<user>',
  password '<password>'
);

Kimlik bilgileri gibi hassas değerler için düz metin dizeleri yerine Azure Databricks gizli dizileri kullanmanızı öneririz. Örneğin:

CREATE CONNECTION <connection-name> TYPE postgresql
OPTIONS (
  host '<hostname>',
  port '<port>',
  user secret ('<secret-scope>','<secret-key-user>'),
  password secret ('<secret-scope>','<secret-key-password>')
)

Gizli sırları ayarlama hakkında bilgi için bkz Gizli sır yönetimi.

Mevcut bağlantıları yönetme hakkında bilgi için bkz Lakehouse Federation için Bağlantıları Yönetme.

Yabancı katalog oluşturma

Not

Kullanıcı arabirimini veri kaynağına bağlantı oluşturmak için kullanırsanız, yabancı katalog oluşturma dahil edilir ve bu adımı atlayabilirsiniz.

Yabancı bir katalog, dış bir veri sistemindeki veritabanını yansıtarak bu veritabanındaki verilere Azure Databricks ve Unity Kataloğu kullanarak sorgulama yapmanıza ve erişimi yönetmenize olanak tanır. Yabancı katalog oluşturmak için, önceden tanımlanmış olan veri kaynağına bir bağlantı kullanırsınız.

Yabancı katalog oluşturmak için, Bir Azure Databricks not defterinde veya SQL sorgu düzenleyicisinde Katalog Gezgini'ni veya CREATE FOREIGN CATALOG SQL komutunu kullanabilirsiniz. Unity Kataloğu API'sini de kullanabilirsiniz. Bkz . Azure Databricks başvuru belgeleri.

Dış katalog meta verileri, katalogla her etkileşimde Unity Kataloğu'na eşitlenir. Unity Kataloğu ile veri kaynağı arasındaki veri türü eşlemesi için, her veri kaynağının belgelerinin Veri Türü Eşlemeleri bölümüne bakın.

gerekli izinler:CREATE CATALOG meta veri deposu üzerindeki izin ve bağlantının sahipliği veya CREATE FOREIGN CATALOG bağlantı üzerindeki ayrıcalık.

Katalog Tarayıcısı

  1. Azure Databricks çalışma alanınızda, Katalog Gezgini'ni açmak için Katalog simgesine tıklayınKatalog.

  2. Kataloğu bölmesinin üst kısmında Ekle veya artı simgesine tıklayın ekle simgesine tıklayın ve menüden Katalog ekle seçin.

    Alternatif olarak, Hızlı erişim sayfasında Kataloglar düğmesine tıklayın ve ardından Katalog oluştur düğmesine tıklayın.

  3. katalog oluşturma bölümünde yabancı katalog oluşturma yönergelerini izleyin.

SQL

Not defterinde veya SQL sorgu düzenleyicisinde aşağıdaki SQL komutunu çalıştırın. Köşeli ayraç 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>: Veri kaynağını, yolu ve erişim kimlik bilgilerini belirten bağlantı nesnesi.
  • <database-name>: Azure Databricks'te katalog olarak yansıtmak istediğiniz veritabanının adı. İki katmanlı ad alanı kullanan MySQL için gerekli değildir.
  • <external-catalog-name>: Databricks'ten-Databricks'e yalnızca: Yansıttığınız dış Databricks çalışma alanındaki kataloğun adı. Bkz. Yabancı katalog oluşturma.
CREATE FOREIGN CATALOG [IF NOT EXISTS] <catalog-name> USING CONNECTION <connection-name>
OPTIONS (database '<database-name>');

Yabancı katalogları yönetme ve bunlarla çalışma hakkında bilgi için bkz . Yabancı katalogları yönetme ve bunlarla çalışma.

Lakehouse Federasyonu ve maddi görünümler

Databricks, malzemeleştirilmiş görünümler oluştururken Lakehouse Federation kullanarak dış verilerin yüklenmesini önerir. Bkz. Databricks SQL'de malzemeleşmiş görünümleri kullanma.

Lakehouse Federasyonu'nı kullandığınızda, kullanıcılar federasyon verilerine aşağıdaki gibi başvurabilir:

CREATE MATERIALIZED VIEW xyz AS SELECT * FROM federated_catalog.federated_schema.federated_table;

Sistem tarafından oluşturulan federasyon sorgularını görüntüleme

Lakehouse Federation, Databricks SQL deyimlerini federasyon veri kaynağına gönderilebilen deyimlere çevirir. Oluşturulan SQL deyimini görüntülemek için, Sorgu Profiligrafik görünümünde yabancı veri kaynağı tarama düğümüne tıklayın veya EXPLAIN FORMATTED SQL deyimini çalıştırın. Her veri kaynağının belgelerindeki Desteklenen İletme bölümüne bakarak kapsamı kontrol edin.

Sınırlamalar

  • Sorgular salt okunur durumdadır.
  • Bağlantıların sınırlanması, Databricks SQL eşzamanlı sorgu limiti kullanılarak belirlenir. Bağlantı başına ambarlar arasında bir sınır yoktur. Bkz Profesyonel ve klasik SQL ambarları için kuyruğa alma ve otomatik ölçeklendirme.
  • Unity Kataloğu'nda geçersiz adlara sahip tablolar ve şemalar desteklenmez ve yabancı bir katalog oluşturulurken Unity Kataloğu tarafından yoksayılır. Sınırlamalar'daki adlandırma kuralları ve sınırlamalar listesine bakın.
  • Tablo adları ve şema adları Unity Kataloğu'nda küçük harfe dönüştürülür. Aramalarda küçük harf adları da kullanılmalıdır. Yinelenen küçük harf adlarına sahip tablolar veya şemalar varsa, tablolardan veya şemalardan yalnızca biri yabancı kataloğa aktarılır.
  • Başvurulan her yabancı tablo için Azure Databricks, uzak sistemde bir alt sorgu planlayarak o tablodan bir veri alt kümesi alır ve ardından sonucu tek bir akış yoluyla bir Azure Databricks yürütücü görevine iletir. Sonuç kümesi çok büyükse yürütücüde bellek tükenebilir.
  • Ayrılmış erişim modu (eski adıyla tek kullanıcı erişim modu) yalnızca bağlantıya sahip olan kullanıcılar için kullanılabilir.
  • Lakehouse Federation, Azure Synapse veya Redshift bağlantıları için büyük/küçük harfe duyarlı tanımlayıcılara sahip yabancı tabloları federasyona katamaz.

Kaynak kotaları

Azure Databricks, tüm Unity Kataloğu güvenliği sağlanabilir nesnelerinde kaynak kotalarını zorunlu kılır. Bu kotalar Kaynak sınırları'nda listelenir. Yabancı kataloglar ve içerdikleri tüm nesneler toplam kota kullanımınıza dahil edilir.

Bu kaynak sınırlarını aşmayı düşünüyorsanız Azure Databricks hesap ekibinize başvurun.

Unity Kataloğu kaynak kotaları API'lerini kullanarak kota kullanımınızı izleyebilirsiniz. Bkz. Unity Kataloğu kaynak kotalarını kullanımınızı izleme.

Ek kaynaklar