Oracle'da federasyon sorguları çalıştırma
Önemli
Bu özellik Genel Önizlemesürümündedir.
Bu makalede, Azure Databricks tarafından yönetilmeyen Oracle verileri üzerinde 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 Oracle veritabanınıza bağlanmak için Azure Databricks Unity Kataloğu meta veri deponuzda aşağıdakileri oluşturmanız gerekir:
- Oracle veritabanınıza bir
bağlantısı. - Unity Kataloğu'nda Oracle veritabanınızı yansıtacak bir yabancı katalog oluşturarak, Unity Kataloğu sorgu söz dizimi ve veri yönetim araçlarını kullanarak Azure Databricks kullanıcılarının veritabanı 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ı.
İşlem gereksinimleri:
- İşlem kaynağınızdan hedef veritabanı sistemlerine ağ bağlantısı. Bkz. Lakehouse Federationiçin
Ağ önerileri. - Azure Databricks işlem gücü, Databricks Runtime 16.1 veya daha yükseğini ve Paylaşılan veya Tek kullanıcı 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ıdaCREATE FOREIGN CATALOG
ayrıcalığına sahip olmanız gerekir.
Aşağıdaki her görev tabanlı bölümde ek izin gereksinimleri belirtilir.
Oracle gereksinimleri
- Sunucu tarafı yerel ağ şifrelemesi etkinleştirildi (en az
ACCEPTED
düzeyde). Oracle belgelerindeki Ağ Veri Şifrelemesi Yapılandırma bölümüne 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.
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ı.
.
Katalog Gezgini
- Azure Databricks çalışma alanında
Katalogtıklayın.
- Sol bölmede Dış Veri
menüsünü genişletin ve Bağlantılar öğesini seçin. - Bağlantıoluştur'a tıklayın.
- Bağlantı ayarlama sihirbazının Bağlantı temel bilgileri sayfasında, kullanıcı dostu bir Bağlantı adıgirin.
Oracle Bağlantı türü seçin. - (İsteğe bağlı) Açıklama ekleyin.
- İleriöğesine tıklayın.
-
Kimlik Doğrulaması sayfasında Oracle örneği için aşağıdakileri girin:
-
Konak: Örneğin,
oracle-demo.123456.rds.amazonaws.com
-
Bağlantı Noktası: Örneğin,
1521
-
Kullanıcı: Örneğin,
oracle_user
- parola
: Örneğin,
-
Konak: Örneğin,
- Bağlantıoluştur'a tıklayın.
- Katalog temel bilgileri sayfasında, yabancı katalog için bir ad girin. Harici katalog, bir dış veri sistemindeki veritabanını yansıtarak Azure Databricks ve Unity Kataloğu'nu kullanarak bu veritabanındaki verilere erişimi sorgulamak ve yönetmek için kullanılabilir.
- (İsteğe bağlı) Bağlantı test et'e tıklayarak çalıştığını onaylayın.
- Katalog oluştur'a tıklayın.
-
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önetebilecek Sahibi değiştirin. Metin kutusuna bir sorumlu yazmaya başlayın ve döndürülen sonuçlarda sorumluya tıklayın.
- Katalogda Ayrıcalıkları verin.
tıklayınver:
- 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 bir yetkiliye vermek istediğiniz Privilege ön 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üdenmodify
seçin. - Vermek istediğiniz ayrıcalıkları el ile seçin.
- Katalogdaki nesnelerde
- İzniver'e tıklayın.
- Katalogdaki nesnelere erişimi olacak
- İleriöğesine tıklayın.
- Meta Veri sayfasında etiket anahtar-değer çiftlerini belirtin. Daha fazla bilgi için bkz. Unity Kataloşundaki güvenli hale getirilebilen nesnelere etiket uygulama.
- (İsteğe bağlı) Açıklama ekleyin.
- Kaydet'
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 oracle
OPTIONS (
host '<hostname>',
port '<port>',
user '<user>',
password '<password>'
);
Databricks, kimlik bilgileri gibi hassas değerler için düz metin dizeleri yerine Azure Databricks gizli dizileri kullanmanızı önerir. Mesela:
CREATE CONNECTION <connection-name> TYPE oracle
OPTIONS (
host '<hostname>',
port '<port>',
user secret ('<secret-scope>','<secret-key-user>'),
password secret ('<secret-scope>','<secret-key-password>')
)
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 anahtarların ayarlanması hakkında bilgi için bkz. Gizli anahtar yönetimi.
Yabancı katalog oluşturma
Not
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.
Harici katalog, bir dış veri sistemindeki veritabanını yansıtarak Azure Databricks ve Unity Kataloğu'nu kullanarak bu veritabanındaki verilere erişimi sorgulamak ve yönetmek için kullanılabilir. 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 deposu üzerindeCREATE CATALOG
izni ve bağlantının sahipliği veya bağlantı üzerindeki CREATE FOREIGN CATALOG
ayrıcalığı.
Katalog Gezgini
Azure Databricks çalışma alanında Katalog Gezgini'ni açmak için
Katalog 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 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. -
<service-name>
: Azure Databricks'te katalog olarak yansıtmak istediğiniz hizmet adı.
CREATE FOREIGN CATALOG [IF NOT EXISTS] <catalog-name> USING CONNECTION <connection-name>
OPTIONS (service_name '<service-name>');
Desteklenen indirgeme
Desteklenen işlemler şunlardır:
- Filtreler
- Projeksiyon
- Sınır
- Agregalar
- Kaydırma
- Oyuncu kadrosu
- İçerir, Başlar, Biter
Veri türü eşlemeleri
Oracle'dan Spark'a okuma yaptığınızda veri türleri aşağıdaki gibi eşlenir:
Oracle türü | Spark türü |
---|---|
TIMESTAMP WITH TIMEZONE, TIMESTAMP WITH LOCAL TIMEZONE | Zaman Damgası Türü |
TARİh, ZAMAN DAMGASI | TimestampType/TimestampNTZType* |
SAYI, ONDALıK | Ondalık Veri Türü |
İKILI KAYAN | FloatType |
İKILI ÇIFT | DoubleType |
CHAR, NCHAR, VARCHAR2, NVARCHAR2 | DizeTürü |
- DATE ve TIMESTAMP,
spark.sql.timestampType = TIMESTAMP_LTZ
(varsayılan) ise Spark TimestampType ile eşlenir. "Eğerspark.sql.timestampType = TIMESTAMP_NTZ
ise Zaman Damgası NTZ Türü'ne eşlenirler."