Aracılığıyla paylaş


Unity Kataloğu tarafından yönetilen veriler için yollar nasıl çalışır?

Bu makalede Unity Kataloğu'nda yol çakışmalarıyla ilgili kısıtlamalar açıklanır, Unity Kataloğu nesnelerindeki veri dosyaları için yol tabanlı erişim desenleri açıklanır ve Unity Kataloğu'nun tablolar ve birimler için yolları nasıl yönettiği açıklanır.

Not

Birimler yalnızca Databricks Runtime 13.3 LTS ve üzerinde desteklenir. Databricks Runtime 12.2 LTS ve altında yollara yönelik /Volumes işlemler başarılı olabilir, ancak verileri Unity Kataloğu birimlerinde beklendiği gibi kalıcı hale getirmek yerine işlem kümelerine bağlı kısa süreli depolama disklerine veri yazabilir.

Unity Kataloğu nesnelerinin yolları çakışamaz

Unity Kataloğu, yönetilen veri dizinlerinin çakışmasını önleyerek veri idaresini zorlar. Unity Kataloğu aşağıdaki kuralları zorunlu kılar:

  • Dış konumlar diğer dış konumlar ile çakışamaz.
  • Tablolar ve birimler veri dosyalarını dış konumlarda veya meta veri deposu kök konumunda depolar.
  • Birimler diğer birimlerle çakışamaz.
  • Tablolar diğer tablolarla çakışamaz.
  • Tablolar ve birimler birbiriyle örtüşemez.
  • Yönetilen depolama konumları birbiriyle örtüşemez. Bkz. Yönetilen depolama.
  • Dış birimler yönetilen depolama konumlarıyla çakışamaz.
  • Dış tablolar yönetilen depolama konumları ile örtüşemez.

Bu kurallar, Unity Kataloğu'nda aşağıdaki kısıtlamaların mevcut olduğu anlamına gelir:

  • Başka bir dış konum içinde dış konum tanımlayamazsınız.
  • Başka bir birim içinde birim tanımlayamazsınız.
  • Başka bir tablo içinde tablo tanımlayamazsınız.
  • Bir birim içindeki veri dosyalarında veya dizinlerde tablo tanımlayamazsınız.
  • Tablo içindeki bir dizinde birim tanımlayamazsınız.

Not

Delta Lake de dahil olmak üzere birimlerden veri dosyaları yazmak veya okumak için her zaman yol tabanlı erişimi kullanabilirsiniz. Bu veri dosyalarını Unity Kataloğu meta veri deposuna tablo olarak kaydedemezsiniz.

Yönetilen tablolar ve yönetilen birimler için yollar Unity Kataloğu tarafından tamamen yönetilir

Yönetilen tablo veya yönetilen birim oluşturduğunuzda Unity Kataloğu, içeren şemayla ilişkili Unity Kataloğu tarafından yapılandırılmış depolama konumunda yeni bir dizin oluşturur. Bu dizinin adı, mevcut olan diğer dizinlerle olası çakışmaları önlemek için rastgele oluşturulur.

Bu davranış, Hive meta veri deposu tarafından yönetilen tablolar oluşturma yönteminden farklıdır. Databricks, birim yollarını kullanarak her zaman tablo adlarını ve Unity Kataloğu yönetilen birimlerini kullanarak Unity Kataloğu yönetilen tablolarıyla etkileşim kurmanızı önerir.

Dış tablolar ve dış birimler için yollar Unity Kataloğu tarafından yönetilir

Dış tablo veya dış birim oluşturduğunuzda, Unity Kataloğu tarafından yönetilen bir dış konum içinde bir yol belirtirsiniz.

Önemli

Databricks, dış konumun kökünde hiçbir zaman dış birim veya dış tablo oluşturmamanızı önerir. Bunun yerine, dış konum içindeki alt dizinlerde dış birimler ve dış tablolar oluşturun. Bu öneriler yanlışlıkla çakışan yollardan kaçınmaya yardımcı olmalıdır. Bkz. Unity Kataloğu nesneleri için yollar çakışamıyor.

Kullanım kolaylığı için Databricks, birim yollarını kullanarak tablo adlarını ve Unity Kataloğu dış birimlerini kullanarak Unity Kataloğu dış tablolarıyla etkileşim kurmanızı önerir.

Önemli

Unity Kataloğu, dış tablolar veya dış birimlerle ilişkili verilere bulut URI'lerini kullanarak erişim için tüm ayrıcalıkları yönetir. Bu ayrıcalıklar, dış konumlarla ilişkili tüm ayrıcalıkları geçersiz kılar. Bkz. Unity Kataloğu ayrıcalıkları ve güvenliği sağlanabilir nesneler

Unity Kataloğu'ndaki verilere nasıl erişebilirsiniz?

Unity Kataloğu nesneleri nesne tanımlayıcıları, birim yolları veya bulut URI'leri aracılığıyla verilere erişim sağlar. Bazı nesnelerle ilişkili verilere birden çok yöntemle erişebilirsiniz.

Unity Kataloğu tablolarına aşağıdaki desene sahip üç katmanlı bir tanımlayıcı kullanılarak erişilir:

<catalog_name>.<schema_name>.<table_name>

Birimler, veri dosyalarına erişmek için aşağıdaki desene sahip bir dosya yolu sağlar:

/Volumes/<catalog_name>/<schema_name>/<volume_name>/<path_to_file>

Bulut URI'leri, aşağıdaki örnekte olduğu gibi kullanıcıların hedef dosyaların sürücüsünü, depolama kapsayıcı tanımlayıcısını ve tam yolunu sağlamasını gerektirir:

abfss://<container_name>@<storage_account>.dfs.core.windows.net/<path>

Aşağıdaki tabloda Unity Kataloğu nesneleri için izin verilen erişim yöntemleri gösterilmektedir:

Object Nesne tanımlayıcısı Dosya yolu Bulut URI'sı
Dış konum hayır hayır evet
Yönetilen tablo evet hayır hayır
Dış tablo evet hayır evet
Yönetilen birim hayır evet hayır
Dış birim hayır evet evet

Not

Unity Kataloğu birimleri, yönetim komutları (ve gibi CREATE VOLUMEDROP VOLUME) için aşağıdaki desene sahip üç katmanlı nesne tanımlayıcıları kullanır:

<catalog_name>.<schema_name>.<volume_name>

Birimlerdeki dosyalarla çalışmak için yol tabanlı erişimi kullanmanız gerekir.