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 Teradata verileri üzerinde 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. Lakehouse Federasyonu nedir?
Lakehouse Federation kullanarak Teradata 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):
- Teradata veritabanınıza bir bağlantısı.
- Unity Kataloğu'ndaki Teradata veritabanınızı yansıtan foreign kataloğu; böylece Unity Kataloğu sorgu söz dizimini ve veri idare araçlarını kullanarak veritabanına Azure Databricks kullanıcı erişimini yönetebilirsiniz.
Başlamadan önce
Başlamadan önce bu bölümdeki gereksinimleri karşıladığınızdan emin olun.
Databricks gereksinimleri
Ç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 Federationiçin
Ağ önerileri. - Azure Databricks işlem Databricks Runtime 16.1 veya üzerini ve Standard veya Dedicated erişim modunu kullanmalıdır.
- SQL ambarları profesyonel veya sunucusuz olmalı ve 2024.50 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.
Teradata kimlik doğrulaması
Azure Databricks Lakehouse Federasyonu'ndaki Teradata bağlantıları yalnızca TD2 kimlik doğrulama mekanizmasını (varsayılan Teradata kimlik doğrulaması) destekler. TD2, Teradata veritabanı tarafından yönetilen bir kullanıcı adı ve parolayla kullanıcıların kimliğini doğrular.
LDAP, Kerberos ve TDNEGO gibi diğer Teradata kimlik doğrulama mekanizmaları desteklenmez.
Teradata TLS
- SSL için ,
require,prefer, ,verify-ca,verify-fullmodları arasındadisableseçim yapabilirsiniz. Mod,preferşifrelemeyi etkinleştirmek için sunucuya dayanır (bağlantı noktası numarası yapılandırılabilir). TLS kullanıyorsanız, herhangi bir seçenek yeterli olur (bağlantı noktası 443 olacaktır) (verify-caveverify-fullbağlantının güvenliğini güçlendirebilir, ancak sunucu tarafında daha fazla kurulum gerektirir). Databricks SSL kabul etmenizi önerir. Sunucunuz SSL'yi kabul etmiyorsadisablemodunu kullanın; desteklenmiyorsa SSL'yi denemek içinrequirekullanmak performans düşüşüne neden olur. Daha fazla bilgi için Teradata belgelerindeki TLS kullanarak Bağlantıların Güvenliğini Sağlamabakın.
Azure Databricks bağlantısı 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ı.
.
Katalog Tarayıcısı
- Azure Databricks çalışma alanınızda
Catalog öğesine tıklayın.
-
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.
- Teradataiçin Bağlantı türü seçin.
- (İsteğe bağlı) Açıklama ekleyin.
- Nextöğesine tıklayın.
-
Kimlik Doğrulaması sayfasında, Teradata örneği için aşağıdaki bağlantı özelliklerini girin:
-
Konak: Örneğin,
teradata-demo.teradata.com -
Bağlantı Noktası: Örneğin,
1025 -
Kullanıcı: Örneğin,
teradata_user - parola
: Örneğin, -
Ssl modu:
require,prefer,verify-ca,verify-full,disable
-
Konak: Örneğin,
- Bağlantıoluştur'a tıklayın.
- Katalog Temel Bilgileri sayfasında, yabancı katalog için bir ad girin. Yabancı katalog, dış veri sistemindeki bir veritabanını yansıtır; böylece Azure Databricks ve Unity Kataloğu'nu kullanarak bu veritabanındaki verilere erişimi sorgulayabilir ve yönetebilirsiniz.
- (İsteğe bağlı) Bağlantı test et'e tıklayarak çalıştığını onaylayın.
- Tıklayın katalog oluştur.
-
Access 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ınınerişimi
seçebilir veyaçalışma alanlarına ata'ya tıklayabilir, çalışma alanlarını seçip ata'ya tıklayabilirsiniz. - Katalogdaki tüm nesnelere erişimi yönetebilme yetkisine sahip olacak Sahibinin değiştirilmesi. Metin kutusuna bir sorumlu yazmaya başlayın ve döndürülen sonuçlarda sorumluya tıklayın.
- Katalogda Ayrıcalıkları ver.
İzin Ver'e tıklayın:
- Katalogdaki nesnelere erişimi olacak
Sorumlularını belirtin. Metin kutusuna bir sorumlu yazmaya başlayın ve döndürülen sonuçlarda sorumluya tıklayın. - Her yetkiliye verilecek Privilege hazır ayarlarını 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, anahtar-değer çiftlerini etiket olarak belirtin. Daha fazla bilgi için bkz: Unity Catalog güvenli nesnelere etiket uygulama.
- (İsteğe bağlı) Açıklama ekleyin.
- Kaydet'e tıklayın.
SQL
Not defterinde veya Databricks SQL sorgu düzenleyicisinde aşağıdaki komutu çalıştırın:
CREATE CONNECTION <connection-name> TYPE teradata
OPTIONS (
host '<hostname>',
port '<port>',
user '<user>',
password '<password>',
ssl_mode '<ssl_mode>' -- optional
);
Databricks, kimlik bilgileri gibi hassas değerler için düz metin dizeleri yerine Azure Databricks secrets kullanmanızı önerir. Örneğin:
CREATE CONNECTION <connection-name> TYPE teradata
OPTIONS (
host '<hostname>',
port '<port>',
user secret ('<secret-scope>','<secret-key-user>'),
password secret ('<secret-scope>','<secret-key-password>'),
ssl_mode '<ssl_mode>' -- optional
)
Not defteri SQL komutlarında düz metin dizeleri kullanmanız gerekiyorsa, $ile \ gibi özel karakterlerden kaçarak dizeyi kesmekten kaçının. Örneğin: \$.
Gizli bilgileri ayarlama hakkında bilgi için bkz. Gizli 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ı katalog, dış veri sistemindeki bir veritabanını yansıtır; böylece Azure Databricks ve Unity Kataloğu'nu kullanarak bu veritabanındaki verilere erişimi sorgulayabilir ve yönetebilirsiniz. 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: Meta veri deposundaCREATE CATALOG izni ve bağlantının sahipliği veya bağlantıdaki CREATE FOREIGN CATALOG ayrıcalığı.
Katalog Tarayıcısı
Azure Databricks çalışma alanınızda katalog gezginini açmak için
Catalog öğesine tıklayın.
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 opsiyoneldir. Yer tutucu değerlerini değiştirin:
-
<catalog-name>: Azure Databricks katalog adı. -
<connection-name>: Veri kaynağını, yolu ve erişim kimlik bilgilerini belirten bağlantı nesnesi. -
<database-name>: Azure Databricks'da 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>');
ANSI uyumluluğu
Teradata bağlayıcısı, Databricks Runtime 17.1'de başlayan tüm oturumlar için varsayılan olarak kullanır TMODE=ANSI . Bu ayar, dize karşılaştırmasını ve sayısal işlemlerin davranışını varsayılan olarak Azure Databricks ansi SQL diyalektiyle hizalar.
ANSI modunda dize karşılaştırmaları büyük/küçük harfe duyarlıyken, Teradata'nın eski TERA modunda bu karşılaştırmalar büyük/küçük harfe duyarlı değildir (örneğin, 'ABC' = 'abc' ifadesi doğru olarak değerlendirilir). Eski davranış, ANSI etkin Azure Databricks hesaplaması ile Teradata'yı sorguladığınızda beklenmeyen sonuçlara neden olabilir.
Önemli
Databricks Runtime 17.1 veya sonraki bir sürümüne, Databricks SQL'e veya Sunucusuz bilgi işlem'e TERA geçerseniz, varsayılan oturum modu ANSI olarak değişir. Bu, özellikle büyük/küçük harfe duyarsız dize eşleştirme kullanan Teradata görünümleri için sorgu sonuçlarını etkileyebilir. Örneğin, WHERE status = 'Active' modu 'ACTIVE' veya 'active' gibi verileri farklı değerler olarak ele aldığı için, ANSI gibi bir filtreye sahip bir görünüm temel alınan veriler içeriyorsa farklı sonuçlar döndürebilir.
Desteklenen baskılar
Aşağıdaki tabloda Teradata için desteklenen gönderme işlemleri ve her biri için gereken hesaplama listelenmektedir.
| İtme | Desteklenen hesaplama |
|---|---|
| Aggregates |
|
| Cast |
|
| İçerir, Başlar, Biter, Benzer |
|
| Filters |
|
| Limit |
|
| Projections |
|
| Joins |
|
Veri türü eşlemeleri
Teradata'dan Spark'a okuma yaptığınızda veri türleri aşağıdaki gibi eşlenir:
| Teradata türü | Spark türü |
|---|---|
| Bayt, Blob | BinaryType |
| Byteint, Smallint, Integer | IntegerType |
| BigInt | LongType |
| Float, Çift, Çift Hassasiyet | DoubleType |
| Sayı(n, m) | DecimalType |
| Sayı(*, m), Sayı(*), Sayı | Unsupported |
| Varchar(N) | StringType |
| Zaman, Zaman Damgası | TimestampType |