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 makalede, Azure Databricks'ten bulut depolamaya erişimi denetlemek için Unity Kataloğu'nda bir dış konum nesnesinin nasıl yapılandırıldığı açıklanır.
Dış konumlara genel bakış
Dış konumlar , depolama kimlik bilgilerini bulut nesne depolama kapsayıcılarıyla ilişkilendirir. Dış konumlar şunlar tanımlamak için kullanılır:
Yönetilen tablolar ve birimler için yönetilen depolama konumları. Yönetilen depolama konumları meta veri deposu, katalog veya şema düzeyinde bulunabilir. Bkz Unity Kataloğu'nda yönetilen depolama konumu belirtme.
Dış tablolar ve dış birimler için konumlar.
Dış konumlar, bir Azure Data Lake Storage depolama kapsayıcısındaki, AWS S3 birimindeki veya Cloudflare R2 birimindeki depolamaya başvurabilir.
Aşağıdaki diyagram, tek bir bulut depolama demetinin veya kapsayıcının dosya sistemi hiyerarşisini temsil eder ve bir depolama kimlik bilgilerini paylaşan dört dış konum vardır.
Dış konum oluşturmaya genel bakış
Dış konum oluşturmak için aşağıdaki arabirimlerden herhangi birini kullanabilirsiniz:
-
Bu seçenek grafik kullanıcı arabirimi sağlar. Harici konumlara referans vermek için Katalog Gezgini'ni kullanabilirsiniz: Azure Data Lake Storage kapları, S3 bucket'ları (salt okunur), Cloudflare R2 bucket'ları ve DBFS kök dizini (eski)
Bu makalede 1 ve 2 seçenekleri yer alır.
Not
Verileri DBFS kök depolama konumunda depolamak, eski bir uygulamadır ve Databricks bunu önermemektedir. Ancak çalışma alanınız dbfs kökünde veri depolarsa Unity Kataloğu'nu kullanarak bu verilere erişimi idare etmek için bir dış konum oluşturabilirsiniz. Ayrıntılar için bkz. DBFS kökünde (eski) veriler için dış konum oluşturma.
Dış konumların kullanımı ve depolama kimlik bilgileri ile dış konumlar arasındaki ilişki hakkında daha fazla bilgi için bkz. Unity Kataloğu'nu kullanarak bulut nesne depolamasına bağlanma.
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 depolama kapsayıcısını, AWS S3 demetini veya Cloudflare R2 demetini oluşturmanız gerekir.
- Dış konum olarak kullandığınız Azure Data Lake Storage depolama hesaplarının hiyerarşik ad alanına sahip olması gerekir.
S3 demet adlarında nokta notasyonu (örneğin,
incorrect.bucket.name.notation
) kullanmayın. AWS, demet adlarında noktalara izin verse de Databricks, nokta gösterimine sahip S3 demetlerini desteklemez. Nokta içeren demetler, SSL sertifika doğrulama hataları nedeniyle Delta Sharing gibi özelliklerde uyumluluk sorunlarına neden olabilir. Daha fazla bilgi için bkz. AWS demet adlandırma en iyi yöntemleri.Dış konum yolları yalnızca standart ASCII karakterleri (harfler
A–Z
,a–z
, basamaklar0–9
ve/
,_
,-
gibi ortak simgeler) içermelidir.Bu kovaya bir S3 erişim denetimi listesi eklenemez.
- 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'a bağlanmak için depolama kimlik bilgisi oluşturma, Cloudflare R2'ye bağlanmak için depolama kimlik bilgisi oluşturma veya AWS S3'e bağlanmak için depolama kimlik bilgisi oluşturma (salt okunur).
İzin gereksinimleri:
- Meta veri deposu ile harici konumda referans verilen depolama kimlik bilgileri üzerinde
CREATE EXTERNAL LOCATION
ayrıcalığına sahip olmalısınız. Meta veri deposu yöneticileri, meta veri deposunda varsayılan olarakCREATE EXTERNAL LOCATION
sahibidir. - DBFS kök depolama konumu için bir dış konum oluşturuyorsanız, sistem sizin için depolama kimlik bilgilerini oluşturabilir, ancak çalışma alanı yöneticisi olmanız gerekir. Ayrıntılar için bkz. DBFS kökündeki veriler için dış konum oluşturma (eski)
1. Seçenek: Katalog Gezgini'ne kullanarak 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:
Metastore'a bağlı bir çalışma alanına giriş yapın.
Kenar çubuğunda
Katalog'a gidin.
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.
Depolama türünü seçin: Azure Data Lake Storage, S3 (Salt okunur), R2 veya DBFS Kökü.
Verileri DBFS kökünde depolamak yaygın olmayan, eski bir uygulamadır. Ayrıntılar için bkz. DBFS kökünde (eski) veriler için dış konum oluşturma.
URLaltında dış konumun yolunu girin veya seçin.
Azure Data Lake Storage, S3 ve R2 için aşağıdaki seçeneklere sahipsiniz:
Kapsayıcı yolunu mevcut DBFS bağlama noktasındankopyalamak için DBFS'den kopyalaöğesine tıklayın.
Var olan bir bağlama noktasından kopyalamıyorsanız, dış konum olarak kullanmak istediğiniz kapsayıcıyı veya 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>
.
DBFS kökü için:
- Sistem, alt yolu DBFS kök depolama konumuna yerleştirir. Çalışma alanı yöneticisiyseniz, sistem sizin için depolama kimlik bilgilerini de oluşturur.
Dış konuma erişim izni veren depolama kimlik bilgilerini seçin.
Not
Dış konumunuz DBFS köküne yönelikse ve bir çalışma alanı yöneticisiyseniz, sistem sizin için depolama kimlik bilgilerini oluşturur ve bir tane seçmeniz gerekmez.
Depolama kimlik bilgileriniz yoksa bir tane oluşturabilirsiniz:
Depolama kimlik bilgisi açılır listesinde, + Yeni depolama kimlik bilgisi oluşturseçeneğini seçin.
Girdiğiniz kimlik bilgileri depolama türüne bağlıdır:
Azure Data Lake Storage için erişim bağlayıcısı kimliğini ve (isteğe bağlı olarak) depolama konumuna erişim veren kullanıcı tarafından atanan yönetilen kimliği girin. Bkz. Azure Data Lake Storage'a erişen bir depolama kimlik bilgisi oluşturma
Cloudflare API belirteçleri için Cloudflare hesabını, erişim anahtarı kimliğini ve gizli dizi erişim anahtarını girin. Bkz. Cloudflare R2'ye bağlanmak için depolama kimlik bilgisi oluşturma.
AWS S3 için depolama konumuna erişim sağlayan IAM rolü ARN'sini girin. Bkz. AWS S3'e bağlanmak için depolama kimlik bilgisi oluşturma (salt okunur).
(İ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 seçeneğini belirleyin. Daha fazla bilgi için bkz Dış konumu salt okunur olarak işaretleme.
AWS S3 yollarına başvuran dış konumlar doğal olarak salt okunurdur.
(İsteğe bağlı) Dış konum bir Hive meta veri deposu federasyon kataloğuna yönelikse, Gelişmiş seçenekler kısmına tıklayın ve Geri Dönüş modunu etkinleştirin.
(İsteğe bağlı, yalnızca AWS S3 konumları için) S3 demetine SSE şifrelemesi gerekiyorsa, Unity Kataloğu'ndaki dış tabloların ve birimlerin S3 demetinizdeki verilere erişmesine izin vermek için bir şifreleme algoritması yapılandırabilirsiniz.
Yönergeler için bkz. Dış konumda şifreleme algoritması yapılandırma (yalnızca AWS S3).
(İsteğe bağlı) Dış konumda değişiklik bildirimlerine abone olma özelliğini etkinleştirmek için Gelişmiş Seçenekler'e tıklayın ve Dosya olaylarını etkinleştir'i seçin.
Ayrıntılar için bkz. (Önerilen) Dış konum için dosya olaylarını etkinleştirme.
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 vermek için İzinler sekmesine gidin.
Herkesin dış konumu kullanması için izinler vermelisiniz:
Meta veri deposuna, kataloğa veya şemaya yönetilen bir depolama konumu eklemek için dış konumu kullanırken gerekli
CREATE MANAGED LOCATION
ayrıcalığını verin.Dış tablolar veya birimler oluşturmak için
CREATE EXTERNAL TABLE
veyaCREATE EXTERNAL VOLUME
yetkisini verin.
- Ver butonuna tıklayın.
-
Grant on
<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 butonuna tıklayın.
2. Seçenek: 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. Gerekli izinler ve önkoşullar için bkz . Başlamadan önce.
-
<location-name>
: Dış konum için bir ad. Eğerlocation_name
kısa çizgi (-
) gibi özel karakterler içeriyorsa, ters tırnak işaretleriyle (` `
) çevrelenmelidir. Bkz. Adlar.
-
<bucket-path>
: Bu dış konumun erişim sağladığı bulut ortamı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, ters tırnak işaretleri (` `
) ile çevrelenmelidir.
CREATE EXTERNAL LOCATION [IF NOT EXISTS] `<location-name>`
URL '<bucket-path>'
WITH ([STORAGE] CREDENTIAL `<storage-credential-name>`)
[COMMENT '<comment-string>'];
Eğer dış konum erişimini, hesabınızdaki belirli çalışma alanları ile sınırlamak istiyorsanız, bu durum çalışma alanı bağlama veya dış konum yalıtımı olarak da bilinir, 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
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
CREATE EXTERNAL TABLE
ayrıcalığına sahip veri mühendislerinin, bu konumda yalnızca üretim çalışma alanında dış tablolar oluşturabilmesini sağlamak. - 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ış konum üzerindeki ayrıcalıkların kullanıldığı anda başvurulur. Örneğin, bir kullanıcı çalışma alanından CREATE TABLE myCat.mySch.myTable LOCATION 'abfss://my-container-name@storage-account-name.dfs.core.windows.net/finance'
deyimini myWorkspace
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ış konum kaplama
'abfss://my-container-name@storage-account-name.dfs.core.windows.net/finance'
ilemyWorkspace
ilişkili mi? - Katalog
myCat
myWorkspace
ileRead & Write
erişim düzeyine bağlı mı?
Eğer dış konum myWorkspace
ile bağlantısı sonradan kesilirse, 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 İzinler: Meta veri deposu yöneticisi, dış konum sahibi veya dış konumda MANAGE
.
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ış harici konumlar gri renkte gösterilir.
Katalog Gezgini
Meta veri deposuna bağlı bir çalışma alanına oturum açın.
Kenar çubuğunda
Katalog'a gidin.
Hızlı erişim sayfasında Dış veriler >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 işaretlenmemiştir.
Atama için Çalışma alanlarını seç seçeneğine 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, <profile-name>
'yi Azure Databricks kimlik doğrulama yapılandırma profilinizin adıyla değiştirin. 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 jetonu kimlik doğrulaması.
external-locations
Dış konumuupdate
isolation mode
olarak ayarlamak için komut grubununISOLATED
komutunu kullanın:databricks external-locations update <my-location> \ --isolation-mode ISOLATED \ --profile <profile-name>
Varsayılan
isolation-mode
, meta veri deposuna bağlı tüm çalışma alanları içinOPEN
'dir.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"
ve"remove"
özelliklerini kullanarak çalışma alanı bağlamaları ekleyin veya kaldırın.Not
Dış konumlar için salt okunur bağlanma (
BINDING_TYPE_READ_ONLY
) kullanılamaz. Bu nedenle dış konum bağlaması içinbinding_type
ayarlamanıza gerek yoktur.
Dış konumun tüm çalışma alanı atamalarını listelemek için komut grubunun workspace-bindings
komutunu kullanınget-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ış birimleri tanımlamak için dış konumları kullanın. Bkz: Unity Kataloğu birimleri nedir?.