Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bu makalede, Azure Databricks tarafından yönetilmeyen Azure Synapse (SQL Veri Ambarı) verilerinde federasyon sorguları çalıştırmak için Lakehouse Federasyonu'nun nasıl ayarlanacağı açıklanır. Lakehouse Federasyonu hakkında daha fazla bilgi edinmek için bkz . Lakehouse Federasyonu nedir?.
Lakehouse Federation kullanarak bir Azure Synapse (SQL Veri Ambarı) veritabanına bağlanmak için Azure Databricks Unity Kataloğu meta veri deponuzda aşağıdakileri oluşturmanız gerekir:
- Azure Synapse (SQL Veri Ambarı) veritabanınıza bağlantı.
- Unity Kataloğu'ndaki Azure Synapse (SQL Veri Ambarı) veritabanınızı yansıtan bir yabancı katalog ; böylece Unity Kataloğu sorgu söz dizimini ve veri idare araçlarını kullanarak Azure Databricks kullanıcısının veritabanına erişimini yönetebilirsiniz.
Başlamadan önce
Çalışma alanı gereksinimleri:
- Unity Kataloğu için etkinleştirilen çalışma alanı. Otomatik meta veri deposu sağlama dahil olmak üzere, 9 Kasım 2023'den sonra oluşturulan çalışma alanları Unity Kataloğu için otomatik olarak etkinleştirilir. Çalışma alanınız otomatik etkinleştirmeden önce gelmediği ve Unity Kataloğu için etkinleştirilmediği sürece el ile meta veri deposu oluşturmanız gerekmez. Bkz. Unity Kataloğunun otomatik olarak etkinleştirilmesi.
İş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 ve Standart veya Ayrılmış 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 CONNECTIONayrıcalığına sahip bir kullanıcı olmanız gerekir. Unity Kataloğu için otomatik olarak etkinleştirilen çalışma alanlarında, çalışma alanı yöneticileri varsayılan olarak ayrıcalıklaraCREATE CONNECTIONsahiptir. - Yabancı katalog oluşturmak için meta veri deposunda
CREATE CATALOGiznine sahip olmanız ve bağlantının sahibi olmanız veya bağlantıdaCREATE FOREIGN CATALOGayrıcalığına sahip olmanız gerekir. Unity Kataloğu için otomatik olarak etkinleştirilen çalışma alanlarında, çalışma alanı yöneticileri varsayılan olarak ayrıcalıklaraCREATE CATALOGsahiptir.
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.
Note
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ı
- Azure Databricks çalışma alanınızda
Katalog'a gidin.
-
Katalog bölmesinin üst kısmında
tıklayın ve menüden Bağlantı oluştur'u seçin. - Bağlantı temel bilgileri sayfasında, Bağlantı ayarlama sihirbazını açın ve kullanıcı dostu bir Bağlantı adıgirin.
- SqlDWbağlantı türünü seçin.
- (İsteğe bağlı) Açıklama ekleyin.
- Nextöğesine tıklayın.
-
Kimlik Doğrulaması sayfasında, Azure Synapse örneğinin aşağıdaki bağlantı özelliklerini girin:
-
Konak: Örneğin,
sqldws-demo.database.windows.net. -
Bağlantı noktası: Örneğin,
1433 - User
- Password
- Güven sunucusu sertifikası: Bu, varsayılan olarak seçili değildir. Aktarım katmanı seçildiğinde, kanalı şifrelemek için SSL kullanır ve güveni doğrulamak için sertifika zincirini atlar. Güven doğrulamasını atlamanız gerekmediği sürece bu ayarı varsayılan olarak bırakın.
-
Konak: Örneğin,
- Bağlantıoluştur'a tıklayın.
- Katalog temel bilgileri sayfasında, yabancı katalog için bir ad girin. 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.
- (İsteğe bağlı) Çalıştığını onaylamak için Bağlantıyı test et'e tıklayın.
- Katalog oluştur'a tıklayın.
- Erişim sayfasında, 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.
- Katalogdaki tüm nesnelere erişimi yönetebilecek Sahip'i değiştirin. Metin kutusuna bir prensip yazmaya başlayın ve ardından döndürülen sonuçlardan prensibe tıklayın.
- Katalogda Ayrıcalıkları tanımlayın.
İzin Ver'e tıklayın:
- Katalogdaki nesnelere erişimi olacak
Sorumlularını belirtin. Metin kutusuna bir prensip yazmaya başlayın ve ardından döndürülen sonuçlardan prensibe tıklayın. -
İmtiyaz ön ayarlarını her bir sorumluya vermek için seçin. Tüm hesap kullanıcılarına varsayılan olarak
BROWSEverilir.- Katalogdaki nesnelerde
ayrıcalıkları vermek için açılan menüden veri okuyucu seçin. - Katalogdaki nesnelerde ve
readayrıcalıkları vermek için açılan menüdenmodifyseçin. - Vermek istediğiniz ayrıcalıkları el ile seçin.
- Katalogdaki nesnelerde
- İzin Ver'e tıklayın.
- Katalogdaki nesnelere erişimi olacak
- Nextöğesine tıklayın.
- Meta Veri sayfasında, etiket anahtar-değer çiftlerini belirtin. Daha fazla bilgi için bkz. Unity Kataloğu'ndaki güvenli nesnelere etiket uygulama.
- (İsteğe bağlı) Açıklama ekleyin.
- Kaydet'e tıklayın.
SQL
Aşağıdaki komutu bir not defterinde veya Databricks SQL sorgu düzenleyicisinde çalıştırın.
CREATE CONNECTION <connection-name> TYPE sqldw
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 dizilerini kullanmanızı öneririz. Örneğin:
CREATE CONNECTION <connection-name> TYPE sqldw
OPTIONS (
host '<hostname>',
port '<port>',
user secret ('<secret-scope>','<secret-key-user>'),
password secret ('<secret-scope>','<secret-key-password>')
)
Gizli bilgileri ayarlama hakkında bilgi için bkz Gizli bilgi yönetimi.
Yabancı katalog oluşturma
Note
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. Katalog oluşturmak için Databricks REST API'sini veya Databricks CLI'yi de kullanabilirsiniz. Bkz: POST /api/2.1/unity-catalog/catalogs ve Unity Catalog komutları.
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ı
Azure Databricks çalışma alanınızda
Katalog gezginini açmak için katalog.
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 Kataloglardüğmesine tıklayın ve ardından Katalog oluştur düğmesine tıklayın. katalog oluşturma bölümünde yabancı katalog oluşturma yönergelerini izleyin.
SQL
Aşağıdaki SQL komutunu bir not defterinde veya SQL sorgu düzenleyicisinde ç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ı.
CREATE FOREIGN CATALOG [IF NOT EXISTS] <catalog-name> USING CONNECTION <connection-name>
OPTIONS (database '<database-name>');
Desteklenen baskılar
Aşağıdaki pushdown işlemleri desteklenir:
- Filters
- Projections
- Limit
- Toplamlar (Average, Count, Max, Min, StddevPop, StddevSamp, Sum, VarianceSamp)
- İşlevler (Aritmetik ve Alias, Cast, SortOrder gibi diğer çeşitli işlevler)
- Sorting
Aşağıdaki gönderimler desteklenmez:
- Joins
- Windows işlevleri
Veri türü eşlemeleri
Synapse / SQL Veri Ambarı'ndan Spark'a okuma yaptığınızda veri türleri aşağıdaki gibi eşlenir:
| Synapse türü | Spark türü |
|---|---|
| ondalık, para birimi, sayısal veri, küçük para birimi | DecimalType |
| smallint | ShortType |
| tinyint | ByteType |
| int | IntegerType |
| bigint | LongType |
| real | FloatType |
| float | DoubleType |
| char, nchar, ntext, nvarchar, text, uniqueidentifier, varchar, xml | StringType |
| ikili, coğrafya, geometri, görüntü, zaman damgası, udt, varbinary | BinaryType |
| bit | BooleanType |
| date | DateType |
| datetime (tarih saat), datetime2 (tarih saat 2), smalldatetime (küçük tarih saat), time (zaman) | TimestampType/TimestampNTZType* |
Synapse / SQL Veri Ambarı'ndan (SQLDW) okurken, SQLDW datetimes varsayılan olarak preferTimestampNTZ = false ise Spark TimestampType'a eşlenir. SQLDWdatetimespreferTimestampNTZ = true ise, TimestampNTZType ile eşlenir.