Bulut depolama alanını Azure Databricks'e bağlamak için dış konum oluşturma
Bu makalede, bulut depolamayı Azure Databricks'e bağlamak için Unity Kataloğu'nda bir dış konumun nasıl yapılandırıldığı açıklanır.
Dış konumlar Unity Kataloğu depolama kimlik bilgilerini bulut nesne depolama kapsayıcılarıyla ilişkilendirir. Dış konumlar, kataloglar ve şemalar için yönetilen depolama konumlarını tanımlamak ve dış tablolar ile dış birimler için konumları tanımlamak için kullanılır.
Azure Data Lake Storage 2. Nesil depolama kapsayıcısında veya Cloudflare R2 demetinde depolamaya başvuran bir dış konum oluşturabilirsiniz.
Katalog Gezgini'ni, Databricks CLI'yı, not defterindeki SQL komutlarını veya Databricks SQL sorgusunu veya Terraform'u kullanarak bir dış konum oluşturabilirsiniz.
Not
Bir birim tanımladığınızda, birim yolu altındaki verilere bulut URI erişimi birimin izinleri tarafından yönetilir.
Başlamadan önce
Ön koşullar:
Azure Databricks'te dış konum nesnesini oluşturmadan önce, dış konum olarak kullanmak istediğiniz Azure Data Lake Storage 2. Nesil depolama kapsayıcısını veya Cloudflare R2 demetini oluşturmanız gerekir.
Dış konum olarak kullandığınız Azure Data Lake Storage 2. Nesil depolama hesaplarının hiyerarşik ad alanına sahip olması gerekir.
Azure Databricks'te tanımlanan ve bulut depolama konumu yoluna erişim sağlayan bir depolama kimlik bilgileriniz olmalıdır. Bkz. Azure Data Lake Storage 2. Nesil bağlanmak için depolama kimlik bilgisi oluşturma ve Cloudflare R2'ye bağlanmak için depolama kimlik bilgisi oluşturma.
İzin gereksinimleri:
- Hem meta veri deposunda hem de dış konumda başvuruda bulunan depolama kimlik bilgileri üzerinde ayrıcalığınız olmalıdır
CREATE EXTERNAL LOCATION
. Meta veri deposu yöneticilerinin meta veri deposunda varsayılan olarak vardırCREATE EXTERNAL LOCATION
.
Katalog Gezgini'ne kullanarak el ile dış konum oluşturma
Katalog Gezgini'ne el ile dış konum oluşturabilirsiniz.
İzinler ve önkoşullar: Başlamadan önce bölümüne bakın.
Dış konumu oluşturmak için:
Meta veri deposuna bağlı bir çalışma alanında oturum açın.
Kenar çubuğunda Katalog'a tıklayın .
Katalog bölmesinin üst kısmında Ekle simgesine tıklayın ve menüden Dış konum ekle'yi seçin.
Alternatif olarak, Hızlı erişim sayfasında Dış veri >düğmesine tıklayın, Dış Konumlar sekmesine gidin ve Konum oluştur'a tıklayın.
Bir Dış konum adı girin.
İsteğe bağlı olarak kapsayıcı yolunu mevcut bir bağlama noktasından kopyalayın (yalnızca kapsayıcılar Azure Data Lake Storage 2. Nesil).
Var olan bir bağlama noktasından kopyalamıyorsanız, dış konum olarak kullanmak istediğiniz depolama kapsayıcısını veya R2 demet yolunu girmek için URL alanını kullanın.
Örneğin,
abfss://my-container-name@my-storage-account.dfs.core.windows.net/<path>
veyar2://my-bucket@my-account-id.r2.cloudflarestorage.com/<path>
.Dış konuma erişim izni veren depolama kimlik bilgilerini seçin.
(İsteğe bağlı) Kullanıcıların dış konuma salt okunur erişimi olmasını istiyorsanız Gelişmiş Seçenekler'e tıklayın ve Salt okunur'a tıklayın. Daha fazla bilgi için bkz . Dış konumu salt okunur olarak işaretleme.
Oluştur’a tıklayın.
(İsteğe bağlı) Dış konumu belirli çalışma alanlarına bağlayın.
Varsayılan olarak, tüm ayrıcalıklı kullanıcılar meta veri deposuna bağlı herhangi bir çalışma alanında dış konumu kullanabilir. Yalnızca belirli çalışma alanlarından erişime izin vermek istiyorsanız, Çalışma Alanları sekmesine gidin ve çalışma alanları atayın. Bkz. (İsteğe bağlı) Belirli çalışma alanlarına dış konum atama.
Dış konumu kullanma izni verin.
Herkesin dış konumu kullanması için izinler vermelisiniz:
- Dış konumu kullanarak meta veri deposuna, kataloğa veya şemaya yönetilen depolama konumu eklemek için ayrıcalık verin
CREATE MANAGED LOCATION
. - Dış tablolar veya birimler oluşturmak için veya
CREATE EXTERNAL VOLUME
verinCREATE EXTERNAL TABLE
.
İzin vermek üzere Katalog Gezgini'ni kullanmak için:
- Ayrıntılar bölmesini açmak için dış konum adına tıklayın.
- İzinler sekmesinde Ver'e tıklayın.
- Verme tarihi
<external location>
iletişim kutusunda, Sorumlular alanında kullanıcıları, grupları veya hizmet sorumlularını seçin ve vermek istediğiniz ayrıcalığı seçin. - Ver'e tıklayın.
- Dış konumu kullanarak meta veri deposuna, kataloğa veya şemaya yönetilen depolama konumu eklemek için ayrıcalık verin
SQL kullanarak dış konum oluşturma
SQL kullanarak dış konum oluşturmak için bir not defterinde veya SQL sorgu düzenleyicisinde aşağıdaki komutu çalıştırın. Yer tutucu değerlerini değiştirin.
İzinler ve önkoşullar: Başlamadan önce bölümüne bakın.
<location-name>
: Dış konum için bir ad.location_name
Kısa çizgi ()-
gibi özel karakterler içeriyorsa, bunun arka uçlarla (` `
) çevrelenmiş olması gerekir. Bkz. Adlar.<bucket-path>
: Bu dış konumun erişim iznini veren bulut kiracınızdaki yol. Örneğin,abfss://my-container-name@my-storage-account.dfs.core.windows.net/<path>
veyar2://my-bucket@my-account-id.r2.cloudflarestorage.com/<path>
.<storage-credential-name>
: Depolama kapsayıcısından veya demet yolundan okuma ve yazma yetkisi veren depolama kimlik bilgilerinin adı. Depolama kimlik bilgisi adı kısa çizgi ()-
gibi özel karakterler içeriyorsa, arka çizgiler (` `
ile çevrelenmelidir).
CREATE EXTERNAL LOCATION [IF NOT EXISTS] `<location-name>`
URL '<bucket-path>'
WITH ([STORAGE] CREDENTIAL `<storage-credential-name>`)
[COMMENT '<comment-string>'];
Dış konum erişimini hesabınızdaki çalışma alanı bağlaması veya dış konum yalıtımı olarak da bilinen belirli çalışma alanlarıyla sınırlamak istiyorsanız bkz . (İsteğe bağlı) Belirli çalışma alanlarına dış konum atama.
(İsteğe bağlı) Belirli çalışma alanlarına dış konum atama
Önemli
Bu özellik Genel Önizlemededir.
Varsayılan olarak, bir dış konuma meta veri deposundaki tüm çalışma alanlarından erişilebilir. Başka bir deyişle, bir kullanıcıya bu dış konumda ayrıcalık (örneğin READ FILES
) verildiyse, meta veri deposuna bağlı herhangi bir çalışma alanından bu ayrıcalığı kullanabilir. Kullanıcı veri erişimini yalıtmak için çalışma alanları kullanıyorsanız, yalnızca belirli çalışma alanlarından dış konuma erişime izin vermek isteyebilirsiniz. Bu özellik çalışma alanı bağlaması veya dış konum yalıtımı olarak bilinir.
Dış konumu belirli çalışma alanlarına bağlamaya yönelik tipik kullanım örnekleri şunlardır:
- Üretim verilerini içeren bir dış konumda ayrıcalığı olan veri mühendislerinin
CREATE EXTERNAL TABLE
bu konumda yalnızca bir üretim çalışma alanında dış tablolar oluşturabilmesini sağlama. - Hassas veriler içeren bir dış konumda ayrıcalığı olan veri mühendislerinin
READ FILES
bu verilere erişmek için yalnızca belirli çalışma alanlarını kullanabilmesini sağlama.
Çalışma alanına göre diğer veri erişimini kısıtlama hakkında daha fazla bilgi için bkz . Katalog erişimini belirli çalışma alanlarıyla sınırlama.
Önemli
Çalışma alanı bağlamalarına, dış konuma karşı ayrıcalıkların kullanılması noktasında başvurulur. Örneğin, bir kullanıcı çalışma alanından myWorkspace
deyimini CREATE TABLE myCat.mySch.myTable LOCATION 'abfss://my-container-name@storage-account-name.dfs.core.windows.net/finance'
vererek bir dış tablo oluşturursa, normal kullanıcı ayrıcalık denetimlerine ek olarak aşağıdaki çalışma alanı bağlama denetimleri gerçekleştirilir:
- Dış konumun kapsama
'abfss://my-container-name@storage-account-name.dfs.core.windows.net/finance'
alanı ilemyWorkspace
ilişkili mi? - Katalog
myCat
erişim düzeyineRead & Write
bağlımyWorkspace
mı?
Dış konum sonradan myWorkspace
ilişkisizse, dış tablo çalışmaya devam eder.
Bu özellik ayrıca, dış konumu bu diğer çalışma alanlarında kullanılabilir hale getirmek zorunda kalmadan merkezi bir çalışma alanından bir kataloğu doldurmanıza ve katalog bağlamalarını kullanarak diğer çalışma alanlarında kullanılabilir hale getirmenize olanak tanır.
Dış konumu bir veya daha fazla çalışma alanına bağlama
Belirli çalışma alanlarına dış konum atamak için Katalog Gezgini'ni veya Databricks CLI'yi kullanabilirsiniz.
gerekli izinler: Meta veri deposu yöneticisi veya dış konum sahibi.
Not
Meta veri deposu yöneticileri Katalog Gezgini'ni kullanarak bir meta veri deposundaki tüm dış konumları görebilir ve dış konum sahipleri, dış konumun geçerli çalışma alanına atanıp atanmadığından bağımsız olarak bir meta veri deposunda sahip oldukları tüm dış konumları görebilir. Çalışma alanına atanmamış dış konumlar gri görünür.
Katalog Gezgini
Meta veri deposuna bağlı bir çalışma alanında oturum açın.
Kenar çubuğunda Katalog'a tıklayın .
Katalog bölmesinin üst kısmında dişli simgesine tıklayın ve Dış Konumlar'ı seçin.
Alternatif olarak, Hızlı erişim sayfasında Dış veriler > düğmesine tıklayarak Dış Konumlar sekmesine gidin.
Dış konumu seçin ve Çalışma Alanları sekmesine gidin.
Çalışma Alanları sekmesinde Tüm çalışma alanlarının erişimi var onay kutusunu temizleyin.
Dış konumunuz zaten bir veya daha fazla çalışma alanına bağlıysa, bu onay kutusu zaten temizlenir.
Çalışma alanlarına ata'ya tıklayın ve atamak istediğiniz çalışma alanlarını girin veya bulun.
Erişimi iptal etmek için Çalışma Alanları sekmesine gidin, çalışma alanını seçin ve İptal Et'e tıklayın. Tüm çalışma alanlarından erişime izin vermek için Tüm çalışma alanlarının erişimi var onay kutusunu seçin.
CLI
Çalışma alanına dış konum atamak için iki Databricks CLI komut grubu ve iki adım gerekir.
Aşağıdaki örneklerde değerini Azure Databricks kimlik doğrulama yapılandırma profilinizin adıyla değiştirin <profile-name>
. Kişisel erişim belirtecini oluşturduğunuz çalışma alanının çalışma alanı örneği adına ve çalışma alanı kimliğine ek olarak kişisel erişim belirtecinin değerini içermelidir. Bkz. Azure Databricks kişisel erişim belirteci kimlik doğrulaması.
external-locations
Dış konumuisolation mode
ISOLATED
olarak ayarlamak için komut grubununupdate
komutunu kullanın:databricks external-locations update <my-location> \ --isolation-mode ISOLATED \ --profile <profile-name>
Varsayılan değer
isolation-mode
,OPEN
meta veri deposuna bağlı tüm çalışma alanlarıdır.workspace-bindings
Çalışma alanlarını dış konuma atamak için komut grubununupdate-bindings
komutunu kullanın:databricks workspace-bindings update-bindings external-location <my-location> \ --json '{ "add": [{"workspace_id": <workspace-id>}...], "remove": [{"workspace_id": <workspace-id>}...] }' --profile <profile-name>
"add"
Çalışma alanı bağlamaları eklemek veya kaldırmak için ve"remove"
özelliklerini kullanın.Not
Dış konumlar için salt okunur bağlama (
BINDING_TYPE_READ_ONLY
) kullanılamaz. Bu nedenle dış konum bağlaması için ayarbinding_type
yapmak için bir neden yoktur.
Dış konumun tüm çalışma alanı atamalarını listelemek için komut grubunun get-bindings
komutunu kullanınworkspace-bindings
:
databricks workspace-bindings get-bindings external-location <my-location> \
--profile <profile-name>
Ayrıca bkz. REST API başvurusunda Çalışma Alanı Bağlamaları .
Çalışma alanından dış konumun bağlantısını kaldırma
Katalog Gezgini'ni veya workspace-bindings
CLI komut grubunu kullanarak dış konuma çalışma alanı erişimini iptal etme yönergeleri, Dış konumu bir veya daha fazla çalışma alanına bağlama bölümüne eklenir.
Sonraki adımlar
- Diğer kullanıcılara dış konumları kullanma izni verin. Bkz. Dış konumları yönetme.
- Dış konumları kullanarak yönetilen depolama konumlarını tanımlayın. Bkz . Unity Kataloğu'nda yönetilen depolama konumu belirtme.
- Dış konumları kullanarak dış tabloları tanımlayın. Bkz . Dış tablolarla çalışma.
- Dış konumları kullanarak dış birimleri tanımlayın. Bkz . Unity Kataloğu birimleri nedir?.