Unity Kataloğu en iyi uygulamaları

Bu belge, veri idaresi gereksinimlerinizi en etkili şekilde karşılamak için Unity Kataloğu'nu kullanmaya yönelik öneriler sağlar. Azure Databricks veri idaresine giriş için bkz. Unity Kataloğu ile veri ve yapay zeka idaresi. Unity Kataloğu'na giriş için bkz. Unity Kataloğu nedir?.

Kimlik

Unity Kataloğu güvenliği sağlanabilir nesnelerinde ayrıcalıkların atanması için sorumluların (kullanıcılar, gruplar ve hizmet sorumluları) Azure Databricks hesap düzeyinde tanımlanması gerekir. Databricks, otomatik kimlik yönetimini kullanarak kimlik sağlayıcınızdan Azure Databricks hesabınıza sorumlular sağlamanızı önerir. Kimlik sağlayıcınız otomatik kimlik yönetimini desteklemiyorsa bunun yerine SCIM sağlamayı kullanın.

En iyi uygulamalar:

  • Çalışma alanı düzeyinde SCIM sağlamadan kaçının (ve mevcut olanı kapatın). Eski çalışma alanları için, Unity Kataloğu etkinleştirilmemişse, doğrudan bir çalışma alanına yetkilendirme ilkeleri sağlanmalıdır. Sağlamayı tamamen hesap düzeyinde yönetmeniz gerekir.

  • IdP'nizde grupları tanımlayın ve yönetin. Bunlar, kuruluş grubu tanımlarınızla tutarlı olmalıdır.

    Gruplar, kullanıcılardan ve hizmet sorumlularından farklı davranır. Çalışma alanına eklediğiniz kullanıcılar ve hizmet sorumluları Azure Databricks hesabınızla otomatik olarak eşitlenirken, çalışma alanı seviyesindeki gruplar eşitlenmez. Eğer çalışma alanınıza ait yerel gruplarınız varsa, bunları IdP'nizde (gerekirse) çoğaltarak ve hesabınıza manuel olarak sağlayarak, tercihen bunları hesaba taşımayı düşünmelisiniz.

  • Verilere ve diğer Unity Kataloğu güvenli hale getirilebilir öğelere erişim vermek için grupları etkili bir şekilde kullanabilmeniz için ayarlayın. Mümkün olduğunda kullanıcılara doğrudan izin vermekten kaçının.

  • Çoğu güvenli hale getirilebilir nesneye sahiplik atamak için grupları kullanın.

  • Kullanıcıları hesaba veya çalışma alanına el ile eklemekten kaçının. Azure Databricks grupları değiştirmekten kaçının: IdP'nizi kullanın.

  • İşleri çalıştırmak için hizmet sorumlularını kullanın. Hizmet sorumluları iş otomasyonlarını etkinleştirir. Üretim ortamına yazan işleri çalıştırmak için kullanıcıları kullanırsanız, üretim verilerinin üzerine yanlışlıkla yazma riskiyle karşı karşıya kalırsınız.

Daha fazla bilgi için bkz. Kullanıcıları, hizmet sorumlularını ve grupları yönetme, Otomatik kimlik yönetimi ve SCIM kullanarak kullanıcıları ve grupları Microsoft Entra ID eşitleme.

Yönetici rolleri ve güçlü ayrıcalıklar

Yönetici rollerini ve ALL PRIVILEGES ile MANAGE gibi güçlü ayrıcalıkları atamak dikkat gerektirir:

  • Atamadan önce hesap yöneticilerinin, çalışma alanı yöneticilerinin ve meta veri deposu yöneticilerinin ayrıcalıklarını anlayın. Bkz. Unity Kataloğu'nda Yönetici ayrıcalıkları.
  • Mümkün olduğunda bu rolleri gruplara atayın.
  • Meta veri deposu yöneticileri isteğe bağlıdır. Bunları yalnızca ihtiyacınız varsa atayın. Yönergeler için bkz. Meta veri deposu yöneticileri.
  • Özellikle nesneler üretimde kullanılıyorsa, gruplara nesne sahipliğini atayın. Herhangi bir nesnenin oluşturucusu ilk sahibidir. Oluşturucular sahipliği uygun gruplara yeniden atamalıdır.
  • Yalnızca bir nesnede ayrıcalığı olan MANAGE meta veri deposu yöneticileri, sahipleri ve kullanıcıları bu nesne üzerinde ayrıcalıklar verebilir. Üst katalogların ve şemaların sahipleri de katalog veya şemadaki tüm nesneler üzerinde ayrıcalıklar verme yeteneğine sahiptir. Sahiplik ve ayrıcalık atamanızda tedbirli MANAGE olun.
  • Tüm ayrıcalıkları içeren ALL PRIVILEGES'ün atamasında, MANAGE, EXTERNAL USE LOCATION ve EXTERNAL USE SCHEMA dışında tedbirli olun.

Ayrıcalık ataması

Unity Kataloğu'nda güvenliği sağlanabilir nesneler hiyerarşiktir ve ayrıcalıklar aşağı doğru devralınır. Etkili bir ayrıcalık modeli geliştirmek için bu devralma hiyerarşisini kullanın.

En iyi uygulamalar:

  • USE CATALOG ve USE SCHEMA ayrıcalıklarının rolünü anlama:

    • USE CATALOG | SCHEMA katalog veya şemadaki verileri görüntüleme olanağı verir. Tek başına, bu ayrıcalıklar katalog veya şema içindeki nesnelere SELECT veya READ erişimi sağlamaz, ancak kullanıcılara bu erişim iznini vermek için bir önkoşuldur. Bu ayrıcalıkları yalnızca katalogdaki veya şemadaki verileri görüntüleyebilmesi gereken kullanıcılara verin.
    • USE CATALOG | SCHEMA, bir kataloğa veya şemaya erişimi kısıtlayarak, nesne sahiplerinin (örneğin, tablo oluşturucusu) bu nesneye (tablo) erişimi istemeden erişimi olmaması gereken kullanıcılara atamasını engeller. Her ekip için bir şema oluşturmak ve bu takıma yalnızca USE SCHEMA ve CREATE TABLE'i vermek (üst katalogda USE CATALOG ile birlikte) tipiktir.
  • Ayrıcalığın BROWSE rolünü anlayın.

    • BROWSE kullanıcıların Katalog Gezgini, şema tarayıcısı, arama, köken grafiği information_schemave REST API kullanarak katalogdaki nesnelerin meta verilerini görüntülemesine olanak tanır. Verilere erişim izni vermez.
    • BROWSE, veya USE CATALOG ayrıcalıklarına sahip olmasalar bile kullanıcıların verileri bulmasına ve bu verilere erişim istemesine USE SCHEMA olanak tanır.
    • Databricks, verilerin keşfedilebilmesi ve erişim taleplerinin desteklenmesi için gruba üzerinde katalog düzeyinde yetki vermenizi önerir.
  • Self servis erişimi desteklemek için erişim isteği hedeflerini yapılandırın:

    • Erişim isteği hedefleri yapılandırılmadığında, kullanıcılar nesneleri bulsalar bile nesnelere erişim isteyemez.
    • Databricks, başka bir hedef yapılandırılmadığında isteklerin katalog sahibine veya nesne sahibine otomatik olarak gönderilmesi için varsayılan e-posta hedeflerinin etkinleştirilmesini önerir.
    • Hedef e-posta adresleri, Slack, Microsoft Teams, PagerDuty, web kancaları veya kuruluşunuzun istek sistemine yönlendirme URL'si olarak yapılandırılabilir.
  • Nesne sahipliği ile MANAGE ayrıcalık arasındaki farkı anlayın:

    • Nesnenin sahibi, bir tablo üzerinde SELECT ve MODIFY gibi tüm ayrıcalıklara sahip olmanın yanı sıra, güvenli nesne üzerinde diğer sorumlulara ayrıcalık verme iznine ve sahipliği diğer sorumlulara aktarma iznine de sahiptir.
    • Sahipler, bir nesnedeki MANAGE sahiplik yeteneklerini diğer sorumlulara devretme ayrıcalığı verebilir.
    • Katalog ve şema sahipleri, katalog veya şemadaki herhangi bir nesnenin sahipliğini aktarabilir.
    • Sahipliği yapılandırmak veya nesnedeki izinlerin yönetiminden MANAGE sorumlu olan bir gruba tüm nesneler üzerinde ayrıcalık vermek en iyisidir.
  • Görünümlerin ve ölçüm görünümlerinin işbirliğine dayalı olarak düzenlenmesini sağlamak için grup sahipliğini kullanın:

    • Varsayılan olarak, yalnızca bir görünümün veya ölçüm görünümünün sahibi tanımını düzenleyebilir. Bu, düzenleyicinin yetkisiz verilere erişmek için görünümü değiştirebileceği ayrıcalık yükseltmesini engeller.
    • Birden çok kullanıcının aynı görünümü veya ölçüm görünümünü güvenli bir şekilde düzenlemesini sağlamak için sahipliği bir gruba aktarın ve bu gruba kaynak tablolara erişim verin. Ardından tüm grup üyeleri tanımı düzenleyebilir ve veri erişimi, grubun görme iznine sahip olan veri erişimiyle sınırlıdır.
    • Ayrıntılı yönergeler için bkz. İşbirliğine dayalı düzenlemeyi etkinleştirme.
  • Hizmet sorumluları için üretim tablolarına doğrudan MODIFY erişim ayırın.

Daha fazla bilgi için bkz. Unity Kataloğu'nda ayrıcalıkları yönetme.

Meta veri depoları

Meta veri depolarını oluşturmaya ve yönetmeye yönelik kurallar ve en iyi yöntemler aşağıdadır:

  • Bölge başına yalnızca bir meta veri deponuz olabilir. Bu bölgedeki tüm çalışma alanları bu meta veri depolarını paylaşır. Bölgeler arasında veri paylaşmak için bkz. Bölgeler arası ve platformlar arası paylaşım.

  • Meta veri depoları bölgesel yalıtım sağlar ancak varsayılan veri yalıtımı birimleri olarak tasarlanmamıştır. Veri yalıtımı genellikle katalog düzeyinde başlar. Ancak daha merkezi bir idare modeli tercih ederseniz meta veri deposu düzeyinde yönetilen depolama oluşturabilirsiniz. Öneriler için bkz. Yönetilen depolama.

  • Meta veri deposu yönetici rolü isteğe bağlıdır. İsteğe bağlı bir meta veri deposu yöneticisi atanıp atanmayacağı hakkında öneriler için bkz. Yönetici rolleri ve güçlü ayrıcalıklar.

Önemli

Sık erişilen tabloları birden fazla meta veri deposuna dış tablolar olarak kaydetmeyin. Bunu yaparsanız, A meta veri deposuna yazma işlemleri sonucunda oluşan şema, tablo özellikleri, açıklamalar ve diğer meta verilerde yapılan değişiklikler, B meta veri deposuna hiç kaydedilmez. ayrıca Azure Databricks işleme hizmetiyle ilgili tutarlılık sorunlarına da neden olabilirsiniz.

Kataloglar ve şemalar

Kataloglar, tipik Unity Kataloğu veri idare modelindeki birincil veri yalıtım birimidir. Şemalar ek bir kuruluş katmanı ekler.

Katalog ve şema kullanımı için en iyi yöntemler:

  • Verileri ve yapay zeka nesnelerini kuruluş bölmelerini ve projelerini yansıtan kataloglar ve şemalar halinde düzenleyin. Bu genellikle katalogların bir ortam kapsamına, takıma, iş birimine veya bunların bir bileşimine karşılık gelmesi anlamına gelir. Bu, erişimi etkili bir şekilde yönetmek için ayrıcalık hiyerarşisini kullanmayı kolaylaştırır.
  • Çalışma ortamları ve verilerin her ikisi de aynı yalıtım gereksinimlerine sahip olduğunda, kataloğu belirli bir çalışma alanına bağlayabilirsiniz. Bu gerekli olduğunda, sınırlı bir çalışma alanı kümesi kapsamına alınabilecek kataloglar oluşturun.
  • Üretim kataloglarının ve şemalarının sahipliğini her zaman tek tek kullanıcılara değil gruplara atayın.
  • Ve USE CATALOGUSE SCHEMA yalnızca içinde yer alan verileri görebilmesi veya sorgulayabilmesi gereken kullanıcılara verin.

Kataloglar ve şemalar üzerinde ayrıcalık verme hakkında daha fazla öneri için bkz. Ayrıcalık ataması.

Yönetilen depolama

Unity Kataloğu tarafından yaşam döngüsü tamamen yönetilen tablolar ve birimler, yönetilen depolama olarak bilinen varsayılan depolama konumlarında saklanır. Yönetilen depolamayı meta veri deposu, katalog veya şema düzeyinde ayarlayabilirsiniz. Veriler hiyerarşideki kullanılabilir en düşük konumda depolanır. Ayrıntılar için bkz. Unity Kataloğu'nda yönetilen depolama konumu belirtme.

Yönetilen depolama konumları için en iyi yöntemler:

  • Birincil veri yalıtımı biriminiz olarak katalog düzeyinde depolamayı tercih edin.

    Meta veri deposu düzeyinde depolama erken Unity Kataloğu ortamlarında gerekliydi ancak artık gerekli değildir.

  • Meta veri deposu düzeyinde yönetilen bir konum oluşturmayı seçerseniz, ayrılmış bir kapsayıcı kullanın.

  • Unity Kataloğu'nun dışından erişilebilen bir kapsayıcı kullanmayın.

    Bir dış hizmet veya sorumlu yönetilen depolama konumundaki verilere erişiyorsa Unity Kataloğu'nu atlayarak yönetilen tablolarda ve birimlerde erişim denetimi ve denetlenebilirlik tehlikeye girer.

  • DBFS kök dosya sisteminiz için kullanılan veya kullanılan bir kapsayıcıyı yeniden kullanmayın.

  • Depolama açısından yoğun iş yükleriniz varsa, yönetilen depolama ve diğer dış konumlar için tek bir depolama hesabı ve kapsayıcı kullanmayın.

    re:[ADLS] hesapları varsayılan olarak saniyede 20.000 isteği destekler. Bu, iş yükü sınırlamasına ve yavaşlamalara neden olabilir. Aynı depolama hesabında birden çok kapsayıcı kullanılması bu hesap genelinde sınırı değiştirmez. Bu nedenle, depolamayı birden çok depolama hesabı arasında şeritlemelisiniz.

    Bu tür şeritleme, Unity Kataloğu son kullanıcıları tarafından görülemez.

Yönetilen ve dış tablolar

Yönetilen tablolar Unity Kataloğu tarafından tamamen yönetilir. Bu, Unity Kataloğu'nun yönetilen her tablo için hem idareyi hem de temel alınan veri dosyalarını yönettiği anlamına gelir. Bunlar her zaman Delta veya Apache Iceberg biçimindedir.

Dış tablolar, Azure Databricks'e erişimi Unity Kataloğu tarafından yönetilen, ancak veri yaşam döngüsü ve dosya düzeni bulut sağlayıcınız ve diğer veri platformları tarafından yönetilen tablolardır. Azure Databricks'da dış tablo oluşturduğunuzda, konumunu belirtirsiniz; bu konum Unity Kataloğu external location içinde tanımlanmış bir yolda olmalıdır.

Yönetilen tabloları kullanın:

  • Çoğu kullanım örneği için. Databricks, Unity Kataloğu idare özelliklerinden ve performans iyileştirmelerinden tam olarak yararlanmanıza olanak sağladığından, yönetilen tabloları ve birimleri önerir:

    • Otomatik sıkıştırma
    • Otomatik iyileştirme
    • Daha hızlı meta veri okuma (meta veri önbelleğe alma)
    • Akıllı dosya boyutu iyileştirmeleri

    Yeni Azure Databricks işlevselliği yönetilen tablolara öncelik verir.

  • Tüm yeni tablolar için.

Dış tabloları kullan:

  • Bunları zaten kullanıyorsanız ve Hive meta veri deposundan Unity Kataloğu'na yükseltiyorsanız.

    • Dış tabloların kullanılması, verileri taşımadan hızlı ve sorunsuz bir "tek tıklamayla" yükseltme sağlayabilir.
    • Databricks, sonunda dış tabloları yönetilen tablolara geçirmenizi önerir.
  • Bu veriler için yönetilen tablolar tarafından karşılanamayan olağanüstü durum kurtarma gereksinimleriniz varsa.

    Yönetilen tablolar aynı buluttaki birden çok meta veri deposuna kaydedilemez.

  • Dış okuyucuların veya yazarların Databricks dışından verilerle etkileşim kurabilmesi gerekiyorsa.

    Genellikle Unity Kataloğu'nda kayıtlı dış tablolara bile dış erişim izni vermekten kaçınmalısınız. Bunu yaptığınızda, Unity Kataloğu'nun erişim kontrolü, denetleme ve izleme işlevleri atlanır. OpenSharing kullanarak yönetilen tabloları kullanmak ve verileri bölgeler veya bulut sağlayıcıları arasında paylaşmak daha iyi bir uygulamadır. Dış tablolara dış erişime izin vermek zorundaysanız, tüm yazma işlemleri Azure Databricks ve Unity Kataloğu aracılığıyla yapılırken okuma işlemleriyle sınırlayın.

  • Parquet, Avro, ORC gibi Delta olmayan veya Buzdağı olmayan tabloları desteklemeniz gerekir.

Dış tabloları kullanma hakkında daha fazla öneri:

  • Databricks, şema başına bir dış konum kullanarak dış tablolar oluşturmanızı önerir.
  • Databricks, tutarlılık sorunları riski nedeniyle bir tablonun birden fazla meta veri deposuna dış tablo olarak kaydedilmesine kesinlikle karşı çıkmaktadır. Örneğin, bir meta veri deposundaki şema değişikliği ikinci meta veri deposuna kaydedilmez. Meta veri depoları arasında veri paylaşmak için OpenSharing kullanın. Bkz. Bölgeler arası ve platformlar arası paylaşım.

Ayrıca bkz. Azure Databricks tabloları.

Yönetilen ve dış birimler

Yönetilen birimler Unity Kataloğu tarafından tamamen yönetilir. Bu, Unity Kataloğu'nun birimin bulut sağlayıcısı hesabınızdaki depolama konumuna erişimi yönettiği anlamına gelir. External birimler, Azure Databricks dışında yönetilen ancak Azure Databricks içinden erişimi kontrol ve denetim amacıyla Unity Kataloğu'na kaydedilen depolama konumlarındaki var olan verileri temsil eder. Azure Databricks'da bir dış birim oluşturduğunuzda, konumunu belirtirsiniz; bu konum Unity Kataloğu external location içinde tanımlanmış bir yolda olmalıdır.

Yönetilen birimleri kullanın:

  • Çoğu kullanım örneğinde Unity Kataloğu idare özelliklerinden tam olarak yararlanmak.
  • Bir birimdeki dosyalardan veya CTAS (COPY INTO) deyimlerini çalıştırmadan CREATE TABLE AS başlayan tablolar oluşturmak istiyorsanız.

Harici birimleri kullanma:

  • ETL işlem hatlarının ve diğer veri mühendisliği etkinliklerinin ilk aşamalarında işlenmesini desteklemek üzere dış sistemler tarafından üretilen ham veriler için giriş alanlarını kaydetmek.
  • Veri alımı için hazırlık konumlarını kaydetmek amacıyla, örneğin Otomatik Yükleyici veya COPY INTOCTAS deyimlerini kullanarak.
  • Yönetilen birimler bir seçenek olmadığında veri bilimcileri, veri analistleri ve makine öğrenmesi mühendislerinin keşif veri analizi ve diğer veri bilimi görevlerinin bir parçası olarak kullanması için dosya depolama konumları sağlayın.
  • Azure Databricks kullanıcılarına, diğer sistemler tarafından oluşturulan ve bulut depolama alanına kaydedilen çeşitli dosyalara erişim sağlamak için kolaylık sunar. İzleme sistemleri veya IoT cihazları tarafından toplanan büyük hacimli yapılandırılmamış veri koleksiyonlarına (görüntü, ses, video ve PDF dosyaları gibi) erişim verilebilir. Ayrıca, yerel bağımlılık yönetim sistemlerinden veya CI/CD işlem hatlarından dışa aktarılan kütüphane dosyaları (JAR ve Python wheel dosyaları gibi) da erişilebilir hale gelir.
  • Yönetilen birimler bir seçenek olmadığında, günlük veya kontrol noktası dosyaları gibi işlemsel verileri depolamak için.

Harici birimleri kullanma hakkında daha fazla öneri:

  • Databricks, bir şema içinde bir dış konumdan dış birimler oluşturmanızı önerir.

İpucu

Verilerin başka bir konuma kopyalandığı veri alım senaryoları için (örneğin, otomatik yükleyici veya COPY INTO) dış birimleri kullanın. Verileri tablo olarak sorgulamak istediğinizde dış tabloları kullanın; kopya dahil değildir.

Ayrıca şu konulara bakın: Yönetilen ve Harici Birimler ve Harici Konumlar.

Dış konumlar

Depolama kimlik bilgilerini ve depolama yollarını birleştirerek dış konum güvenliği sağlanabilir nesneler, depolama erişimi için güçlü denetim ve denetlenebilirlik sağlar. Kullanıcıların Unity Kataloğu tarafından sağlanan erişim denetimini atlayarak dış konum olarak kayıtlı kapsayıcılara doğrudan erişmesini önlemek önemlidir.

Dış konumları etkili bir şekilde kullanmak için:

  • Dış konum olarak kullanılan herhangi bir kapsayıcıya doğrudan erişimi olan kullanıcı sayısını sınırladığınızdan emin olun.

  • Dış konum olarak da kullanılıyorsa depolama hesaplarını DBFS'ye bağlamayın. Databricks, Katalog Gezgini'ni kullanarak bulut depolama konumlarındaki bağlamaları Unity Kataloğu'ndaki dış konumlara geçirmenizi önerir.

  • Yalnızca Unity Kataloğu ile bulut depolama alanı arasında bağlantı kurmakla görevlendirilen yöneticilere veya güvenilen veri mühendislerine dış konumlar oluşturma olanağı verin.

    Dış konumlar, Unity Kataloğu'ndan bulut depolamadaki geniş kapsamlı bir konuma (örneğin, bir demet veya kapsayıcının tamamı (abfss://mycompany-hr-prod@storage-account.dfs.core.windows.net) veya geniş bir alt yol (abfss://mycompany/hr-prod@storage-account.dfs.core.windows.netunity-catalog) erişimi sağlar. Amaç, bir bulut yöneticisinin birkaç dış konum ayarlama ve ardından bu konumları yönetme sorumluluğunu kuruluşunuzdaki bir Azure Databricks yöneticisine devretmektir. Azure Databricks yöneticisi daha sonra dış konum altındaki belirli ön eklere dış birimleri veya dış tabloları kaydederek dış konumu daha ayrıntılı izinlere sahip alanlar halinde düzenleyebilir.

    Dış konumlar çok karmaşık olduğundan, Databricks yalnızca Unity Kataloğu ile bulut depolama alanı arasında bağlantı kurma görevi olan bir yöneticiye veya güvenilir veri mühendislerine izin verilmesini CREATE EXTERNAL LOCATION önerir. Databricks, diğer kullanıcılara daha ayrıntılı erişim sağlamak için dış tabloların veya birimlerin dış konumların üzerine kaydedilmesini ve kullanıcılara birimleri veya tabloları kullanarak verilere erişim verilmesini önerir. Tablolar ve birimler bir kataloğun ve şemanın alt öğeleri olduğundan, katalog veya şema yöneticileri erişim izinleri üzerinde nihai denetime sahiptir.

    Ayrıca, dış konuma erişimi belirli çalışma alanlarına bağlayarak da denetleyebilirsiniz. Bkz . Belirli çalışma alanlarına dış konum atama.

  • Son kullanıcılara dış konumlar üzerinde genel READ FILES veya WRITE FILES izinler verme.

    Kullanıcılar tablo, birim veya yönetilen konum oluşturma dışında dış konumları kullanmamalıdır. Veri bilimi veya diğer tablo dışı veri kullanım örnekleri için yol tabanlı erişim için dış konumlar kullanmamalıdır.

    Tablosal olmayan verilere yol tabanlı erişim için birimleri kullanın. Birim yolu altındaki verilere bulut URI erişimi, birimin depolandığı dış konumda verilen ayrıcalıklara değil, birimde verilen ayrıcalıklara tabidir.

    Birimler SQL komutlarını, dbutil'leri, Spark API'lerini, REST API'lerini, Terraform'ı ve dosyalara göz atmak, karşıya yüklemek ve indirmek için bir kullanıcı arabirimi kullanarak dosyalarla çalışmanızı sağlar. Ayrıca, /Volumes/<catalog_name>/<schema_name>/<volume_name>/ altında, yerel dosya sisteminde erişilebilen bir FUSE bağlaması sunan birimler bulunmaktadır. FUSE bağlaması, veri bilimcilerinin ve ML mühendislerinin birçok makine öğrenmesi veya işletim sistemi kitaplığının gerektirdiği şekilde yerel bir dosya sistemindeymiş gibi dosyalara erişmesini sağlar.

    Dış konumdaki dosyalara doğrudan erişim vermeniz gerekiyorsa (örneğin, bir kullanıcı dış tablo veya birim oluşturmadan önce bulut depolamadaki dosyaları keşfetmek amacıyla), READ FILES erişim hakkı verebilirsiniz. Verme WRITE FILES için kullanım örnekleri nadirdir.

  • Yol çakışmalarını önle: Hiçbir zaman dış konum kökünde dış birimler veya tablolar oluşturmayın.

    Dış konum kökünde dış birimler veya tablolar oluşturursanız, dış konumda başka dış birimler veya tablolar oluşturamazsınız. Bunun yerine, dış konumun içindeki bir alt dizinde harici birimler veya tablolar oluşturun.

  • En iyi dosya işleme performansı için dosya olaylarını etkinleştirin.

    Dış konum için dosya olayları etkinleştirildiğinde, Azure Databricks bulut sağlayıcılarının değişiklik bildirimlerini işleyerek veri alımını izler. Bu, dosya varış tetikleyicileri ve Otomatik Yükleyici gibi aşağı akış özelliklerinin performansını ve güvenilirliğini artırır.

Dış konumları yalnızca aşağıdakileri yapmak için kullanmanız gerekir:

  • Dış tabloları ve birimleri CREATE EXTERNAL VOLUME veya CREATE TABLE komutlarını kullanarak kaydedin.
  • Bir konumu yönetilen depolama alanı olarak kaydedin. Ayrıcalık CREATE MANAGED STORAGE bir önkoşuldur.
  • Belirli bir ön ekte dış tablo veya birim oluşturmadan önce bulut depolamadaki mevcut dosyaları keşfedin. Ayrıcalık READ FILES bir önkoşuldur. Bu ayrıcalığı ölçülü bir şekilde atayın. Ayrıntılar için önceki listede yer alan öneriye bakın.

Dış konumlar ile dış birimler karşılaştırması

Birimler yayımlanmadan önce, bazı Unity Kataloğu uygulamaları, veri keşfi için READ FILES doğrudan dış konumlara erişim atamıştı. Yapılandırılmış, yarı yapılandırılmış ve yapılandırılmamış veriler de dahil olmak üzere dosyaları herhangi bir biçimde kaydeden birimlerin kullanılabilirliği sayesinde, tablo, birim veya yönetilen konum oluşturma dışında herhangi bir şey için dış konumları kullanmak için gerçek bir neden yoktur. Dış konumların ne zaman kullanılacağı ve birimlerin ne zaman kullanılacağı hakkında ayrıntılı bilgi için bkz. Yönetilen ve dış birimler ile Dış konumlar.

Bölgeler arası ve platformlar arası paylaşım

Bölge başına yalnızca bir meta veri deponuz olabilir. Farklı bölgelerdeki çalışma alanları arasında veri paylaşmak istiyorsanız Databricks'ten Databricks'e OpenSharing kullanın.

En iyi uygulamalar:

  • Geliştirme, test, üretim, satış ve pazarlama gibi tüm yazılım geliştirme yaşam döngüsü kapsamları ve iş birimleri için tek bölgeli meta veri deponuzu kullanın. Sık paylaşılan veri erişimi gerektiren çalışma alanlarının aynı bölgede bulunduğundan emin olun.
  • Bulut bölgeleri veya bulut sağlayıcıları arasında Databricks'ten Databricks'e OpenSharing kullanın.
  • Bir bulut bölgesinden diğerine yönelik veri çıkış ücretlerinden sorumlu olduğunuz için, seyrek erişilen tablolar için OpenSharing kullanın. Sık erişilen verileri bölgeler veya bulut sağlayıcıları arasında paylaşmanız gerekiyorsa bkz. OpenSharing çıkış maliyetlerini izleme ve yönetme (sağlayıcılar için).

Databricks-Databricks paylaşımını kullanırken aşağıdaki sınırlamalara dikkat etmelisiniz.

  • Soy ağacı grafikleri meta veri deposu düzeyinde oluşturulur ve bölge veya platform sınırlarını geçmez. Aynı Databricks hesabındaki meta veri depoları arasında bir kaynak paylaşılsa bile bu durum geçerlidir: kaynaktan gelen köken bilgileri hedefte görünmez ve tam tersi de geçerlidir.
  • Erişim denetimi meta veri deposu düzeyinde tanımlanır ve bölge veya platform sınırlarını aşmaz. Bir kaynağın kendisine atanmış ayrıcalıkları varsa ve bu kaynak hesaptaki başka bir meta veri deposuyla paylaşılıyorsa, bu kaynaktaki ayrıcalıklar hedef paylaşım için geçerli değildir. Hedef paylaşıma ayrıcalıklar vermelisiniz.

İşlem yapılandırmaları

Databricks, kümeleri bir dizi kurala göre yapılandırma becerisini sınırlamak için işlem ilkelerinin kullanılmasını önerir. İşlem ilkeleri, kullanıcıları Unity Kataloğu özellikli kümeler, özellikle standart erişim modu (eski paylaşılan erişim modu) veya ayrılmış erişim modu (eski adıyla tek kullanıcılı veya atanmış erişim modu) kullanan kümeler oluşturma konusunda sınırlamanıza olanak tanır.

Yalnızca bu erişim modlarından birini kullanan kümeler Unity Kataloğu'ndaki verilere erişebilir. Tüm sunucusuz işlem ve DBSQL işlem Unity Kataloğu'nu destekler.

Databricks, tüm iş yükleri için standart erişim modu önerir. Ayrılmış erişim modunu yalnızca gerekli işlevselliğiniz standart erişim modu tarafından desteklenmiyorsa kullanın. bkz. Erişim modları.