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 sayfada bir Azure Data Lake Storage 2. Nesil (ADLS 2. Nesil) dış konumuna nasıl bağlanıldığı açıklanır. Bu bağlantıyı tamamladıktan sonra Unity Kataloğu'nu kullanarak bu ADLS 2. Nesil nesnelerine erişimi yönetebilirsiniz.
Bir ADLS Gen2 kapsayıcı yoluna bağlanmak için iki Unity Catalog güvenliği sağlanabilir nesnesine ihtiyacınız vardır. Birincisi, ADLS 2. Nesil kapsayıcısına erişime izin veren Azure yönetilen kimliği belirten storage credential'dir. İkinci gerekli nesne için bu depolama kimlik bilgilerine ihtiyacınız vardır: ADLS 2. Nesil depolama konumunuzun yolunu ve bu konuma erişmek için gereken kimlik bilgilerini tanımlayan bir dış konum.
Requirements
Azure Databricks'te:
- Unity Kataloğu için etkinleştirilen Azure Databricks çalışma alanı.
- Çalışma alanına bağlı Unity Kataloğu meta veri deposunda
CREATE STORAGE CREDENTIALayrıcalığı. Hesap yöneticileri ve meta veri deposu yöneticileri varsayılan olarak bu ayrıcalığı alır. -
CREATE EXTERNAL LOCATIONhem Unity Catalog meta veri deposu hem de dış konumun başvurduğu depolama kimlik bilgisi üzerinde ayrıcalığı. Meta veri deposu yöneticileri ve çalışma alanı yöneticileri bu ayrıcalığı varsayılan olarak alır.
Azure hesabınızda:
AdLS 2. Nesil depolama hesabı ve kapsayıcısı. Çıkış ücretlerini önlemek için bu, verilere erişmek istediğiniz çalışma alanıyla aynı bölgede olmalıdır.
Dış konum yolları yalnızca standart ASCII karakterleri (harfler
A–Z,a–z, basamaklar0–9ve/,_,-gibi ortak simgeler) içermelidir.Dış konum olarak kullandığınız Azure Data Lake Storage depolama hesaplarının hiyerarşik ad alanına sahip olması gerekir.
Azure depolama kapsayıcılarını, değiştirilemezlik (WORM - Bir Kez Yaz, Çok Oku) ilkesi etkinleştirildiğinde dış konumlar olarak kullanamazsınız. Unity Kataloğu, değiştirilemezlik ilkelerinin silme işlemini engellediği depolama birimlerinde DELETE izinleri gerektirir. Değişmezlik ilkeleri hakkında daha fazla bilgi için bkz. Kapsayıcılar için değişmezlik ilkelerini yapılandırma.
Depolama hesabında genel ağ erişimi devre dışı bırakılırsa Azure Databricks'in depolama hesabına bağlanmasına izin vermek için Azure güvenilen hizmetlerine izin ver seçeneğini etkinleştirmeniz gerekir. Bu ayarı Azure CLI kullanarak yapılandırabilirsiniz:
# Check current network rule set az storage account show --name <storage_account_name> --resource-group <resource_group_name> --query "networkRuleSet" # Set bypass for Azure Services az storage account update \ --name <storage_account_name> \ --resource-group <resource_group_name> \ --bypass AzureServices
Azure aboneliğinizde Azure Databricks için erişim bağlayıcısı oluşturma izni. Bunu yapmak için, bir Azure kaynak grubunun
ContributorveyaOwnerolmanız gerekir.Depolama hesabının erişim ilkesini değiştirme izni. Bunu yapmak için depolama hesabınızın sahibi olmanız veya depolama hesabınız üzerinde
User Access AdministratorAzure RBAC rolüne sahip bir kullanıcı olmanız gerekir.
ADLS 2. Nesil'e erişen bir depolama kimlik bilgisi oluşturma
ADLS 2. Nesil kapsayıcısına erişim için bir depolama kimlik bilgisi oluşturmak için önce yönetilen kimlikle Azure Databricks için bir erişim bağlayıcısı oluşturursunuz, ardından yönetilen kimliğe depolama hesabınıza erişim verirsiniz.
1. Adım: Azure Databricks için erişim bağlayıcısı oluşturma
Azure Databricks için erişim bağlayıcısı, yönetilen kimlikleri bir Azure Databricks hesabına bağlamanızı sağlayan birinci taraf bir Azure kaynağıdır. Azure Databricks için her erişim bağlayıcısı, sistem tarafından atanan bir yönetilen kimlik, bir veya daha fazla kullanıcı tarafından atanan yönetilen kimlik veya her ikisini de içerebilir.
Azure portal'da bir kaynak grubunun Katkıda Bulunanı veya Sahibi olarak oturum açın.
+ Kaynak oluştur veya Oluştur'a tıklayın.
Azure Databricks için Access Bağlayıcısı'nı arayın ve seçin.
Oluştur'utıklayın.
Temel Bilgiler sekmesinde, aşağıdaki alanlar için değerleri kabul edin, seçin veya girin:
- Abonelik: Bu, erişim bağlayıcısının oluşturulacağı Azure aboneliğidir. Varsayılan değer, şu anda kullanmakta olduğunuz Azure aboneliğidir. Kiracıdaki herhangi bir abonelik olabilir.
- Kaynak grubu: Bu, erişim bağlayıcısının oluşturulacağı Azure kaynak grubudur.
- Ad: Bağlayıcının amacını gösteren bir ad girin.
- Bölge: Bu bölge, bağlanacağınız depolama hesabıyla aynı bölge olmalıdır.
İleriye tıklayın, etiketleri girin ve İleriye tıklayın.
Yönetilen Kimlik sekmesinde, yönetilen kimlikleri aşağıdaki gibi oluşturun:
- Sistem tarafından atanan yönetilen kimliği kullanmak için Durum'aAçık olarak ayarlayın.
- Kullanıcı tarafından atanan yönetilen kimlikleri eklemek için + ekle'ye tıklayın ve kullanıcı tarafından atanan bir veya daha fazla yönetilen kimlik seçin.
Gözden Geçir ve oluştur'a tıklayın.
Yapılandırma ayarlarınızı gözden geçirin ve Oluştur'a tıklayın.
Dağıtım tamamlandıktan sonra Kaynağa git’e tıklayın.
Kaynak Kimliğini not alın.
Kaynak kimliği şu biçimdedir:
/subscriptions/12f34567-8ace-9c10-111c-aea8eba12345c/resourceGroups/<resource-group>/providers/Microsoft.Databricks/accessConnectors/<connector-name>
2. Adım: Yönetilen kimliğe depolama hesabına erişim izni verin
Bu adımda izin vermek için depolama hesabınızda Owner veya User Access Administrator Azure RBAC rolüne sahip olmanız gerekir.
Yönetilen kimliğe depolama hesabı ve kapsayıcısı için erişim izni verirken aşağıdaki seçeneklere sahipsiniz:
-
Storage Blob Data Contributorrolünü kullanarak depolama hesabının tamamına okuma ve yazma erişimi verin. - Rol kullanarak depolama hesabında daha sınırlı bir yetki verin ve
Storage Blob Delegatorrolünü kullanarak belirli bir kapsayıcıya okuma ve yazma erişimi sağlayın.
Aşağıdaki yönergelerde, Storage Blob Data Contributor yetkisini depolama hesabında verdiğiniz varsayılır, fakat diğer seçenekler gerektiğinde değiştirilebilir.
- Azure Data Lake Storage hesabınızda oturum açın.
- Access Control (IAM) gidin, + Ekle'e tıklayın ve Rol ataması ekle'yi seçin.
- ** Depolama Blob Verisi Katkıcısı rolünü seçin ve İleri'ye tıklayarak ilerleyin.
- Erişim atama altında Yönetilen kimlik seçeneğini seçin.
- +Üyeleri Seç'e tıklayın ve Azure Databricks için Access bağlayıcısı veya Kullanıcı tarafından atanan yönetilen kimlik'i seçin.
- Bağlayıcınızın adını veya kullanıcı tarafından atanan kimliği arayın, seçin ve Gözden Geçir ve Ata seçeneğine tıklayın.
3. Adım: Yönetilen kimliğe dosya olaylarına erişim izni verme
Yönetilen kimliğinize dosya olaylarına erişim izni vermek, Azure Databricks'in bulut sağlayıcıları tarafından yayılan dosya olayı bildirimlerine abone olmasını sağlar. Bu, dosya işlemeyi daha verimli hale getirir. Daha fazla bilgi için bkz. Dış konum için dosya olaylarını ayarlama.
Bu adımda izinleri vermek için depolama hesabınızda Sahip veya Kullanıcı Erişim Yöneticisi Azure RBAC rolüne sahip olmanız gerekir.
- Azure Data Lake Storage hesabınızda oturum açın.
- Access Control (IAM) gidin, + Ekle'e tıklayın ve Rol ataması ekle'yi seçin.
- Depolama Kuyruğu Verileri Katkıda Bulunanı rolünü seçin ve İleri'ye tıklayın.
- Erişim atama altında Yönetilen kimlik seçeneğini seçin.
- +Üyeleri Seç'e tıklayın ve Azure Databricks için Access bağlayıcısı veya Kullanıcı tarafından atanan yönetilen kimlik'i seçin.
- Bağlayıcınızın adını veya kullanıcı tarafından atanan kimliği arayın, seçin ve Gözden Geçir ve Ata seçeneğine tıklayın.
4. Adım: Sizin yerinize dosya olaylarını yapılandırmak için Azure Databricks erişim verme
Note
Azure Databricks'e sizin yerinize dosya olaylarını yapılandırma erişimi vermezseniz, her konum için dosya olaylarını el ile yapılandırmanız gerekir. Bu el ile yapılandırmanın atlanması, erişiminizi çeşitli Databricks özelliklerine sınırlar. Dosya olayları hakkında daha fazla bilgi için bkz. Dış konum için dosya olaylarını ayarlama.
Bu adım, Azure Databricks'in dosya olaylarını otomatik olarak ayarlamasına olanak tanır. Bu adımda izin vermek için yönetilen kimliğinizde ve Azure Data Lake Storage hesabınızın içinde olduğu kaynak grubunda Sahip veya Kullanıcı Erişim Yöneticisi Azure RBAC rollerine sahip olmanız gerekir.
3. Adım: Yönetilen kimliğe dosya olaylarına erişim izni verin bölümündeki yönergeleri izleyin ve yönetilen kimliğinize Depolama Hesabı Katkıda Bulunan rolünü atayın.
Bu rol, bu sayfadaki 2 veya 3. adımlarda verilen rollerin yerini almaz, ancak bunlara ek olarak verilir.
Azure Data Lake Storage hesabınızın içinde olduğu Azure kaynak grubuna gidin.
Access Control (IAM) gidin, + Ekle'e tıklayın ve Rol ataması ekle'yi seçin.
EventGrid EventSubscription
Katkıda Bulunan Rolü seçin ve İleritıklayın. Erişim atama altında Yönetilen kimlik seçeneğini seçin.
+Üyeleri Seç'e tıklayın ve Azure Databricks için Access bağlayıcısı veya Kullanıcı tarafından atanan yönetilen kimlik'i seçin.
Bağlayıcınızın adını veya kullanıcı tarafından atanan kimliği arayın, seçin ve Gözden Geçir ve Ata seçeneğine tıklayın.
5. Adım: Databricks'te depolama kimlik bilgilerini oluşturma
Yönetilen kimlikle bir erişim bağlayıcısı oluşturduğunuza ve depolama hesabınıza izinler verdiğiniz için depolama kimlik bilgilerini Azure Databricks'de oluşturabilirsiniz.
Unity Kataloğu özellikli Azure Databricks çalışma alanınızda meta veri deposunda
CREATE STORAGE CREDENTIALayrıcalığına sahip bir kullanıcı olarak oturum açın.Kenar çubuğunda
Katalog'a gidin.
ve ardından Kimlik bilgisi oluştur'a tıklayın.Credential Type olarak Azure Managed Identity seçin.
Depolama kimlik bilgisi adını ve isteğe bağlı bir açıklama girin.
Access Bağlayıcısı Kimliğini (1. Adımda not ettiğiniz kaynak kimliği) girin.
Kaynak kimliği şu biçimdedir:
/subscriptions/12f34567-8ace-9c10-111c-aea8eba12345c/resourceGroups/<resource-group>/providers/Microsoft.Databricks/accessConnectors/<connector-name>(İsteğe bağlı) Erişim bağlayıcısını kullanıcı tarafından atanan bir yönetilen kimlik kullanarak oluşturduysanız Yönetilen Kimlik Kimliğini (yönetilen kimliğin kaynak kimliği) girin.
(İsteğe bağlı) Kullanıcıların bu depolama kimlik bilgilerini kullanan dış konumlara salt okunur erişimi olmasını istiyorsanız Gelişmiş Seçenekler'e tıklayın ve Salt okunur kullanımla sınırla'yı seçin. Daha fazla bilgi için Depolama kimlik bilgilerini salt okunur olarak işaretleme kısmına bakın.
Oluştur'utıklayın.
(İsteğe bağlı) Depolama kimlik bilgilerini 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 depolama kimlik bilgilerini 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 . Belirli çalışma alanlarına depolama kimlik bilgisi atama.
Artık depolama kimlik bilgilerinize başvuran bir dış konum oluşturabilirsiniz .
ADLS 2. Nesil kapsayıcısı için dış konum oluşturma
Bu bölümde, Katalog Gezgini veya SQL kullanarak dış konumun nasıl oluşturulacağı açıklanmaktadır. ADLS 2. Nesil kapsayıcınıza erişime izin veren bir depolama kimlik bilgileriniz olduğunu varsayar. Depolama kimlik bilgileriniz yoksa ADLS 2. Nesil'e erişen bir depolama kimlik bilgisi oluşturma bölümünde yer alan adımları izleyin.
1. Seçenek: Katalog Gezgini'ne kullanarak el ile dış konum oluşturma
Katalog Gezgini'ne el ile dış konum oluşturabilirsiniz.
Dış konumu oluşturmak için:
Metastore'a bağlı bir çalışma alanına giriş yapın.
Kenar çubuğunda
Katalog'a gidin.
ve ardından Dış konum oluştur'a tıklayın.Bir Dış konum adı girin.
Depolama türü altında Azure öğesini seçin.
URL'nin altında ADLS 2. Nesil kapsayıcı yolunu girin. Örneğin,
abfss://mycontainer@mystorageaccount.dfs.core.windows.net/<path>.Depolama kimlik bilgileri'nin altında, 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 kullanımla sınırla'yı seçin. Daha fazla bilgi için bkz Dış konumu salt okunur olarak işaretleme.
(İ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ı) 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. Dış konum için dosya olaylarını ayarlama.
Oluştur'utı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 . 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 LOCATIONayrıcalığını verin. - Dış tablolar veya birimler oluşturmak için
CREATE EXTERNAL TABLEveyaCREATE EXTERNAL VOLUMEyetkisini verin.
Aşağıdaki adımları izleyin:
- İzin Ver'e 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. - İzin Ver'e tıklayın.
- Meta veri deposuna, kataloğa veya şemaya yönetilen bir depolama konumu eklemek için dış konumu kullanırken gerekli
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 . Gereksinimler.
-
<location-name>: Dış konum için bir ad. Eğerlocation_namekısa çizgi (-) gibi özel karakterler içeriyorsa, ters tırnak işaretleriyle (` `) çevrelenmelidir. Bkz. Adlar. -
<container-path>: Bu dış konumun erişim sağladığı bulut ortamınızdaki yol. Örneğin,abfss://mycontainer@mystorageaccount.dfs.core.windows.net/. -
<storage-credential-name>: Kapsayıcıdan okuma ve kapsayıcıya 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 '<container-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. Belirli çalışma alanlarına dış konum atama.
Bağlantıyı doğrulama
Dış konumu başarıyla oluşturduğunuzu doğrulamak için, dış konumdan bir dosyayı okumayı deneyin. Örneğin, adlı abfss://mycontainer@mystorageaccount.dfs.core.windows.net/bir CSV dosyası içeren bir dış konumunuz example.csv olduğunu varsayalım. Dosyadan abfss://mycontainer@mystorageaccount.dfs.core.windows.net/example.csv okumak için şu adımları izleyin:
Kenar çubuğunda
Çalışma alanı.
Oluştur'a tıklayın, ardından Not Defteri'ni seçin.
Aşağıdaki Python kod parçacığını çalıştırın:
display(dbutils.fs.ls('abfss://mycontainer@mystorageaccount.dfs.core.windows.net/'))Bu, dış konumdaki dosya yollarının listesini görüntüler. Bu örnekte,
abfss://mycontainer@mystorageaccount.dfs.core.windows.net/example.csvdosya çıktıda görünür.Dış konumdaki belirli bir dosyayı okumak için aşağıdaki Python kod parçacığını çalıştırın:
spark.read.format("csv") \ .option("header", "true") \ .option("delimiter", ";") \ .load('abfss://mycontainer@mystorageaccount.dfs.core.windows.net/example.csv') \ .display()Bu, dosyadaki
abfss://mycontainer@mystorageaccount.dfs.core.windows.net/example.csvverileri görüntüler.
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 bir depolama konumunu belirtin.
- 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 Catalog'un birimleri nelerdir?.