Aracılığıyla paylaş


Teradata üzerinde federasyon sorguları çalıştırma

Bu sayfada, Azure Databricks tarafından yönetilmeyen Teradata 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. 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:

  • Teradata veritabanınıza bir bağlantısı.
  • Unity Kataloğu'ndaki Teradata veritabanınızı yansıtan bir harici katalog, böylece Unity Kataloğu sorgu söz dizimini ve veri yönetim araçlarını kullanarak Azure Databricks kullanıcı erişimini veritabanı üzerinde 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ı.

İş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 Standart veya Ayrılmış 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 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.

Teradata TLS

  • SSL için , require, prefer, , verify-ca, verify-full modları arasında disableseç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-ca ve verify-full bağ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 etmiyorsa disable modunu kullanın; desteklenmiyorsa SSL'yi denemek için require kullanmak performans düşüşüne neden olur. Daha fazla bilgi için Teradata belgelerindeki TLS kullanarak Bağlantıların Güvenliğini Sağlama bakı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ı

  1. Azure Databricks çalışma alanınızda Veri simgesine tıklayın.Katalog'a gidin.

  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. Bağlantı temel bilgileri sayfasında, Bağlantı ayarlama sihirbazını açın ve kullanıcı dostu bir Bağlantı adıgirin.

  4. Teradataiçin Bağlantı türü seçin.

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

  6. Nextöğesine tıklayın.

  7. 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
  8. Bağlantıoluştur'a tıklayın.

  9. Katalog Temel Bilgileri sayfasında, yabancı katalog için bir ad girin. Dış katalog, Azure Databricks ve Unity Kataloğu'nu kullanarak bu veritabanındaki verileri sorgulayıp yönetebilmeniz için dış veri sistemindeki bir veritabanını yansıtır.

  10. (İsteğe bağlı) Bağlantı test et'e tıklayarak çalıştığını onaylayın.

  11. Tıklayın katalog oluştur.

  12. 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.

  13. 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.

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

    1. 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.
    2. Her yetkiliye verilecek Privilege hazır ayarlarını 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. İzin Ver'e tıklayın.
  15. Nextöğesine tıklayın.

  16. Meta Veri sayfasında, anahtar-değer çiftlerini etiket olarak belirtin. Daha fazla bilgi için bkz: Unity Catalog güvenli nesnelere etiket uygulama.

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

  18. 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 gizli dizileri 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.

Dış katalog, Azure Databricks ve Unity Kataloğu'nu kullanarak bu veritabanındaki verileri sorgulayıp yönetebilmeniz için dış veri sistemindeki bir veritabanını yansıtı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: 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ı

  1. Azure Databricks çalışma alanınızda Veri simgesine tıklayın.Katalog gezginini açmak için katalog.

  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

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'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 devre dışı bırakmalar desteklenir:

  • Filters
  • Projections
  • Limit
  • Aggregates
  • Cast
  • İçerir, Başlar, Biter, Benzer

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