Aracılığıyla paylaş


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ır CREATE 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:

  1. Meta veri deposuna bağlı bir çalışma alanında oturum açın.

  2. Kenar çubuğunda Katalog'a tıklayın Katalog simgesi .

  3. Katalog bölmesinin üst kısmında Ekle simgesine Ekle veya artı simgesi 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.

  4. Bir Dış konum adı girin.

  5. İ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).

  6. 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> veya r2://my-bucket@my-account-id.r2.cloudflarestorage.com/<path>.

  7. Dış konuma erişim izni veren depolama kimlik bilgilerini seçin.

  8. (İ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.

  9. Oluştur’a tıklayın.

  10. (İ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.

  11. 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 VOLUMEverinCREATE EXTERNAL TABLE.

    İzin vermek üzere Katalog Gezgini'ni kullanmak için:

    1. Ayrıntılar bölmesini açmak için dış konum adına tıklayın.
    2. İzinler sekmesinde Ver'e tıklayın.
    3. 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.
    4. Ver'e tıklayın.

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> veya r2://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ı ile myWorkspaceilişkili mi?
  • Katalog myCat erişim düzeyine Read & Writebağlı myWorkspace mı?

Dış konum sonradan myWorkspaceiliş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

  1. Meta veri deposuna bağlı bir çalışma alanında oturum açın.

  2. Kenar çubuğunda Katalog'a tıklayın Katalog simgesi .

  3. Katalog bölmesinin üst kısmında dişli simgesine Dişli simgesi 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.

  4. Dış konumu seçin ve Çalışma Alanları sekmesine gidin.

  5. Ç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.

  6. Ç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ı.

  1. external-locations Dış konumu isolation mode ISOLATEDolarak ayarlamak için komut grubunun update 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.

  2. workspace-bindings Çalışma alanlarını dış konuma atamak için komut grubunun update-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 ayar binding_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