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 set meta veri deponuzda Lakehouse Federation connectionscatalogs ve oluşturmayı da açıklar.
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 federasyonu yönetmek için Unity Catalog kullanır. Sunucusuz SQL ambarlarına, pro SQL ambarlarına ve Databricks Runtime kümelerine dahil edilen sürücüleri kullanarak salt okunur connections'ı popüler veritabanı çözümlerine yapılandırırsınız. Unity Catalog'nin 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.
Lakehouse Federasyonu neden kullanılır?
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 durumlarda kullanım örnekleri için tasarlanmıştır:
- Azure Databricks'e veri almak istemezsiniz.
- Sorgularınızın dış veritabanı sistemindeki işlemden yararlanmasını istiyorsunuz.
- Unity Catalog 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 Catalog'da dış veritabanı sistemine erişmek için bir yol ve credentials belirten güvenli hale getirilebilir bir nesnedir.
- yabancı catalog, Unity Catalog'da bir dış veri sistemindeki veritabanını yansıtan ve Azure Databricks çalışma alanınızda bu veri sisteminde yalnızca okunabilir sorgular gerçekleştirmenize olanak tanıyan, Unity Catalogkullanarak erişimi yönetmenizi sağlayan güvenli hale getirilebilir bir nesnedir.
Desteklenen veri kaynakları
Lakehouse Federation, aşağıdaki veritabanı türlerine connections destekler:
- MySQL
- PostgreSQL
- Teradata
- Oracle
- Amazon Redshift
- Salesforce Veri Bulutu
- Snowflake
- Microsoft SQL Server
- Azure Synapse (SQL Veri Ambarı)
- Google BigQuery
- Databricks
- Hive meta veri deposu federasyon
Bağlantı gereksinimleri
Çalışma alanı gereksinimleri:
- Unity Catalogiç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 13.3 LTS veya üzerini kullanmalı ve Paylaşılan veya Tek kullanıcı 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
CREATE CONNECTION
meta veri deposunda Catalog ayrıcalığına sahip bir kullanıcı olmanız gerekir. - Yabancı catalogoluşturmak için, meta veri deposunda
CREATE CATALOG
iznine sahip olmanız ve bağlantının sahibi olmanız veya bağlantıdaCREATE 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ı, dış veritabanı sistemine erişmek için bir yol ve credentials belirtir. Bağlantı oluşturmak için Azure Databricks not defterinde veya Databricks SQL sorgu düzenleyicisinde Catalog 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ı.
Catalog Gezgini
Azure Databricks çalışma alanınızda
simgesine tıklayın. Catalog bölmesinin üst kısmında
tıklayın ve menüden selectBağlantı ekle'yi seçin.
Alternatif olarak,
Hızlı erişim sayfasında Dış veridüğmesine tıklayın, sekmesine gidin ve Bağlantı oluştur öğesine tıklayın.Kullanıcı dostu bir Bağlantı adı girin.
Select Bağlantı türü (veritabanı sağlayıcısı, MySQL veya PostgreSQL gibi).
(İsteğe bağlı) Açıklama ekleyin.
İleriöğesine tıklayın.
Bağlantı özelliklerini (konak bilgileri, yol ve erişim credentialsgibi) girin.
Her bağlantı türü farklı bağlantı bilgileri gerektirir. İçindekiler tablosunun sol tarafındaki table listesinde bağlantı türünüzle ilgili makaleye bakın.
Bağlantıoluştur'a tıklayın.
Yabancı catalogiçin bir ad girin.
(İsteğe bağlı) Çalıştığını onaylamak için Bağlantıyı test et'e tıklayın.
Oluştur'u catalogtıklayın.
Kullanıcıların oluşturduğunuz Select'e erişebileceği çalışma alanları catalog. Tüm çalışma alanlarınınerişimi vardır
, veya ile "Çalışma alanlarına ata"ya tıklayabilir, ardından çalışma alanlarını ve sonra ile "Ata"ya tıklayabilirsiniz. catalog ile değiştirin. Metin kutusuna bir sorumlu yazmaya başlayın ve döndürülen sonuçlarda sorumluya tıklayın.
üzerinde Ayrıcalıklar . Grantöğesine tıklayın: - ilkeleri arasında yer alacak catalognesnelere erişimi olan kişileri belirtin. Metin kutusuna bir sorumlu yazmaya başlayın ve döndürülen sonuçlarda sorumluya tıklayın.
-
Select ayrı ayrı her sorumluya Privilege ayar setini'den grant'e aktarır. Tüm hesap kullanıcılarına varsayılan olarak
BROWSE
verilir.-
Select
Veri Okuyucusu açılan menüden grantnesnelerdeki
read
catalog ayrıcalıklarına geçin. - Select .
- select'u, grantayrıcalıkları üzerinde elle gerçekleştirin.
-
Select
Veri Okuyucusu açılan menüden grantnesnelerdeki
- Grantöğesine tıklayın.
- İleriöğesine tıklayın.
- Meta Veri sayfasında, etiketlerin anahtar-değer çiftlerini belirtin. Daha fazla bilgi için bkz. Unity güvenli hale getirilebilen nesnelere etiket uygulama Catalog.
- (İsteğe bağlı) Açıklama ekleyin.
- Kaydettıklayın.
SQL
Not defterinde veya SQL sorgu düzenleyicisinde aşağıdaki komutu çalıştırın. Bu örnek, PostgreSQL veritabanı için connections ile ilgilidir. Seçenekler bağlantı türüne göre farklılık gösterir. İçindekiler tablosunun sol tarafındaki table listesinde bağlantı türünüzle ilgili makaleye bakın.
CREATE CONNECTION <connection-name> TYPE postgresql
OPTIONS (
host '<hostname>',
port '<port>',
user '<user>',
password '<password>'
);
gibi hassas values için düz metin dizeleri yerine Azure Databricks credentials 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 dizileri ayarlama hakkında bilgi için bkz . Gizli dizi yönetimi.
Mevcut
Yabancı catalog oluşturma
Not
Kullanıcı arabirimini veri kaynağına bağlantı oluşturmak için kullanırsanız, yabancı catalog oluşturma dahil edilir ve bu adımı atlayabilirsiniz.
Yabancı catalog, Azure Databricks ve Unity Catalogkullanarak bu veritabanındaki verileri sorgulayıp yönetebilmeniz için bir dış veri sistemindeki veritabanını yansıtır. Yabancı bir catalogoluşturmak için, önceden tanımlanmış olan veri kaynağına bir bağlantı kullanırsınız.
Yabancı bir catalogoluşturmak için, Azure Databricks not defterinde veya SQL sorgu düzenleyicisinde Catalog Gezgini'ni veya CREATE FOREIGN CATALOG
SQL komutunu kullanabilirsiniz. Unity Catalog API'sini de kullanabilirsiniz. Bkz . Azure Databricks başvuru belgeleri.
Yabancı catalog meta verileri, Catalogile her etkileşimde Unity catalog ile eşitlenir. Unity Catalog 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ünü gözden geçirin.
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.
Catalog Gezgini
Azure Databricks çalışma alanınızda
Gezgini' açmak için simgesine tıklayın. bölmesinin üst kısmında Ekle veya artı simgesine tıklayın ekle simgesine tıklayın ve menüden ekle'yi . Alternatif olarak, Hızlı erişim sayfasında Catalogs düğmesine tıklayın ve ardından catalog oluştur düğmesine tıklayın.
Yabancı catalogs oluşturma yönergelerini Oluşturma catalogs'nde 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 values'i değiştirin.
-
<catalog-name>
: Azure Databricks'teki catalog adı. -
<connection-name>
: veri kaynağını, yolu ve erişimi belirten credentials. -
<database-name>
: Azure Databricks'te catalog olarak yansıtmak istediğiniz veritabanının adı. İki katmanlı ad alanı kullanan MySQL için gerekli değildir. -
<external-catalog-name>
: yalnızca Databricks'Databricks: Yansıttığınız dış Databricks çalışma alanında catalog adı. Bkz. Yabancı catalogoluşturma.
CREATE FOREIGN CATALOG [IF NOT EXISTS] <catalog-name> USING CONNECTION <connection-name>
OPTIONS (database '<database-name>');
Yabancı catalogsyönetme ve bunlarla çalışma hakkında bilgi için bkz. Yabancı catalogsyönetme ve bunlarla çalışma.
Lakehouse Federasyonu ve oluşturulmuş views
Databricks, gerçekleştirilmiş viewsoluştururken Lakehouse Federation kullanarak dış verilerin yüklenmesini önerir. Bkz. views'de materyalize edilmiş kullanın.
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. Kapsam için her veri kaynağının belgelerinin Desteklenen Anında İletme bölümüne bakın.
Sınırlamalar
- Sorgular salt okunur durumdadır.
- connections kısıtlama işlemi, Databricks SQL eşzamanlı sorgusu limitkullanılarak belirlenir. Ambarlar arasında bağlantı başına limit yoktur. Bkz . Profesyonel ve klasik SQL ambarları için kuyruğa alma ve otomatik ölçeklendirme.
- Tables ve Unity Catalog geçersiz adlara sahip şemalar desteklenmez ve bir harici Catalogoluşturulduğunda Unity catalog tarafından yoksayılır. listiçindeki adlandırma kuralları ve sınırlamaları 'a bakınız.
- Table adları ve schema adları Unity Catalogiçinde 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 tables veya şemalar varsa, yalnızca tables veya şemalardan biri yabancı catalog'ye içeri aktarılır.
- Her bir yabancı table başvurusu için, Azure Databricks uzak sistemde bir alt sorgu planlar, bu table'den veri alt kümesini almak için, ardından sonucu tek bir akış üzerinden bir Azure Databricks görev yürütücüsüne döndürür. Sonuç set çok büyükse yürütücüde bellek yetersiz olabilir.
- Tek kullanıcı erişim modu yalnızca bağlantının sahibi olan kullanıcılar için kullanılabilir.
- Lakehouse Federasyonu, Azure Synapse tables veya Redshift connectionsiçin büyük/küçük harfe duyarlı tanımlayıcılarla yabancı connections federasyon yapamaz.
Kaynak kotaları
Azure Databricks, tüm Unity Catalog güvenli hale getirilebilen nesneler üzerinde kaynak kotalarını zorlar. Bu kotalar Kaynak sınırları'nda listelenir. Harici catalogs ve içerdikleri tüm nesneler toplam kota kullanımınıza dahildir.
Bu kaynak sınırlarını aşmayı düşünüyorsanız Azure Databricks hesap ekibinize başvurun.
Unity Catalog kaynak kotaları API'lerini kullanarak kota kullanımınızı izleyebilirsiniz. bkz. Unity Catalog kaynak kotaları kullanımınızı izleme.