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 sayfada, Azure Databricks tarafından yönetilmeyen Snowflake verilerinde federasyon sorguları çalıştırmak için Lakehouse Federasyon'un nasıl ayarlanacağı açıklanır. Lakehouse Federasyonu hakkında daha fazla bilgi edinmek için bkz . Dış veritabanlarına ve kataloglara bağlanma
Lakehouse Federation kullanarak Snowflake veritabanınıza bağlanmak için Azure Databricks Unity Kataloğu meta veri deponuzda aşağıdakileri oluşturmanız gerekir (9 Kasım 2023'den sonra oluşturulan çalışma alanlarında zaten otomatik olarak sağlanan bir Unity Kataloğu meta deposu vardır):
- Snowflake veritabanınızla bağlantı.
- 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önetebilmeniz için Unity Kataloğu'ndaki Snowflake veritabanınızı yansıtan bir yabancı katalog.
Bu sayfada, temel kimlik doğrulaması (kullanıcı adı/parola) kullanılarak Snowflake verilerinde federasyon sorgularının nasıl çalıştırılacakları açıklanmıştır. Diğer kimlik doğrulama yöntemleri için aşağıdaki sayfalara bakın:
- Snowflake yerleşik OAuth
- Microsoft Entra Kimliği ile OAuth
- Okta ile OAuth
- OAuth erişim belirteci
- PEM özel anahtarı
Sorgu federasyonu veya katalog federasyonu kullanarak Snowflake üzerinde federasyon sorguları çalıştırabilirsiniz.
Sorgu federasyonunda JDBC, Unity Kataloğu sorgusunu dış veritabanına iletir. Bu, ETL işlem hatlarınızda isteğe bağlı raporlama veya kavram kanıtı çalışmaları için idealdir.
Katalog federasyonunda Unity Kataloğu sorgusu doğrudan dosya depolamaya karşı çalışır. Bu yaklaşım, Unity Kataloğu'nda kayıtlı verilerinin yanı sıra Snowflake'te bazı verileri tutması gereken kuruluşlar için kod uyarlaması olmadan veya daha uzun vadeli bir karma model olarak artımlı geçiş için yararlıdır. Bkz. Snowflake katalog federasyonunu etkinleştirme.
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ğu'nu kullanmaya başlama.
İş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.
Microsoft Entra Id'yi yapılandırma
Snowflake belgelerinde yer alan Dış OAuth için Microsoft Entra Kimliğini Yapılandırmayı izleyin.
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.
Uyarı
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.
Snowflake bağlantı türünü seçin.
Kimlik doğrulama türü için açılan menüden (temel kimlik doğrulaması) öğesini seçin
Username and password.(İsteğe bağlı) Açıklama ekleyin.
Nextöğesine tıklayın.
Snowflake ambarınız için aşağıdaki kimlik doğrulamasını ve bağlantı ayrıntılarını girin. Seçtiğiniz kimlik doğrulama yöntemine özgü özelliklerden önce parantez içindeki
Auth typeeklenir.-
Konak: Örneğin,
snowflake-demo.east-us-2.azure.snowflakecomputing.com -
Bağlantı Noktası: Örneğin,
443 -
Kullanıcı: Örneğin,
snowflake-user - parola
: Örneğin,
-
Konak: Örneğin,
Nextöğesine tıklayın.
Bağlantı ayrıntıları sayfasında aşağıdakileri belirtin:
-
Kar tanesi ambarı: Örneğin,
my-snowflake-warehouse - (İsteğe bağlı) Proxy konağı: Snowflake'e bağlanmak için kullanılan proxy'nin ana bilgisayarı. Ayrıca Ara sunucu kullan 'ı seçmeniz ve Proxy bağlantı noktasıbelirtmeniz gerekir.
- (İsteğe bağlı) Ara sunucukullanın: Ara sunucu kullanarak Snowflake'e bağlanılıp bağlanılmayacağı.
- (İsteğe bağlı) Proxy bağlantı noktası: Snowflake'e bağlanmak için kullanılan proxy'nin bağlantı noktası. Ayrıca Ara sunucu kullan'ı seçmeniz ve Ara Sunucu konağıbelirtmeniz gerekir.
- (İsteğe bağlı) Snowflake rolü: Bağlandıktan sonra oturum için kullanılacak varsayılan güvenlik rolü.
-
Kar tanesi ambarı: Örneğin,
Nextöğesine 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 yetkilinin adını yazmaya başlayın ve ardından sonuçlar arasında listelenen yetkiliye tıklayın.
Katalogda Ayrıcalıkları tanımlayın. Grant'e tıklayın
- Katalogdaki nesnelere erişimi olacak
Sorumlularını belirtin. Metin kutusuna bir yetkilinin adını yazmaya başlayın ve ardından sonuçlar arasında listelenen yetkiliye 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 Veriler 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 snowflake
OPTIONS (
host '<hostname>',
port '<port>',
sfWarehouse '<warehouse-name>',
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 snowflake
OPTIONS (
host '<hostname>',
port '<port>',
sfWarehouse '<warehouse-name>',
user secret ('<secret-scope>','<secret-key-user>'),
password secret ('<secret-scope>','<secret-key-password>')
)
Gizlilik ayarlama hakkında bilgi için bkz Gizlilik yönetimi.
Gelişmiş bağlantı seçenekleri
Snowflake bağlantıları, kısıtlı çıkış veya özel bağlantı ortamları için aşağıdaki gelişmiş seçeneği destekler:
-
disableOCSPChecks: Snowflake JDBC sürücüsünde Çevrimiçi Sertifika Durumu Protokolü (OCSP) sertifika iptal denetimlerini devre dışı bırakmak için olarak ayarlayıntrue. OCSP denetimlerinin devre dışı bırakılması sertifika iptal denetimini atlar.
Important
Mümkün olduğunda Snowflake OCSP yanıtlayıcısına giden trafiğe izin verin.
disableOCSPChecks öğesini ayarlamadan bırakın veya false olarak ayarlayın. Yalnızca kısıtlı çıkış veya özel bağlantı yapılandırmanız bu trafiğe izin veremiyorsa bunu true olarak ayarlayın.
Bu seçenek Katalog Gezgini'nde gösterilmez. SQL ile bağlantı oluşturduğunuzda bunu ayarlayabilirsiniz:
CREATE CONNECTION <connection-name> TYPE snowflake
OPTIONS (
<connection-options>,
disableOCSPChecks 'true'
);
Mevcut bir bağlantı için kullanın ALTER CONNECTION.
Büyük/küçük harfe duyarlı veritabanı tanımlayıcıları
Yabancı database kataloğun alanı Snowflake veritabanı tanımlayıcısına eşlenir. Snowflake veritabanı tanımlayıcısı büyük/küçük harfe duyarlı değilse, yabancı katalog <database-name> içindeki kullandığınız harf biçimi olduğu gibi korunur. Ancak Snowflake veritabanı tanımlayıcısı büyük/küçük harfe duyarlıysa, olayı korumak için yabancı kataloğu <database-name> çift tırnak içine almalısınız.
Örneğin:
databaseolarak dönüştürülürDATABASE"database"olarak dönüştürülürdatabase"database"""olarak dönüştürülürdatabase"Çift tırnak işaretinden kaçınmak için bir çift tırnak daha kullanın.
"database""çift tırnağın doğru şekilde kaçış karakteri kullanılmadığından hatayla sonuçlanır.
Daha fazla bilgi için Snowflake belgelerindeki Tanımlayıcı gereksinimleri bölümüne bakın.
Desteklenen baskılar
Aşağıdaki devre dışı bırakmalar desteklenir:
- Filtreler
- Projeksiyonlar
- Sınır
- Ofset baskı
- Katılır
- Toplamalar (Average, Corr, CovPopulation, CovSample, Count, Max, Min, StddevPop, StddevSamp, Sum, VariancePop, VarianceSamp)
- İşlevler (Dize işlevleri, Matematiksel işlevler, Tarih, Saat ve Zaman Damgası işlevleri ve Alias, Cast, SortOrder gibi diğer çeşitli işlevler)
- Pencere işlevleri (DenseRank, Rank, RowNumber)
- Sıralama
- Databricks Runtime 17.3 ve üzerinde desteklenen Top-N (sıralama ve sınırı tek bir işlemde birleştirme)
Veri türü eşlemeleri
Snowflake'ten Spark'a okuma yaptığınızda veri türleri aşağıdaki gibi eşlenir:
| Kar tanesi türü | Spark türü |
|---|---|
decimal, number, numeric |
DecimalType |
bigint, byteint, int, , integer, smallint, tinyint |
IntegerType |
float, float4, float8 |
FloatType |
double, double precision, real |
DoubleType |
char, character, string, , text, time, varchar |
StringType |
binary |
BinaryType |
boolean |
BooleanType |
date |
DateType |
datetime, timestamp, timestamp_ltz, timestamp_ntz, , timestamp_tz |
TimestampType |