Unity Kataloğu'nda yönetilen depolama konumu belirtme

Yönetilen depolama konumu, yönetilen tablolar ve yönetilen birimler için verileri depolamak için bulut nesne depolama alanında bir konum belirtir.

Yönetilen depolama konumunu meta veri deposu, katalog veya şemayla ilişkilendirebilirsiniz. Hiyerarşideki daha düşük düzeylerdeki yönetilen depolama konumları, yönetilen tablolar veya yönetilen birimler oluşturulduğunda daha yüksek düzeylerde tanımlanan depolama konumlarını geçersiz kılar.

Databricks, mantıksal veri yalıtımı için yönetilen depolamayı katalog düzeyinde, meta veri deposu düzeyinde ve şema düzeyinde seçenekler olarak atamanızı önerir.

Unity Kataloğu için otomatik olarak etkinleştirilen yeni çalışma alanları meta veri deposu düzeyinde yönetilen depolama konumu olmadan oluşturulur. Meta veri deposu düzeyinde depolamaya ihtiyacınız olup olmadığına karar vermek için bkz. Unity Kataloğu'nu kullanmaya başlama ve Mevcut meta veri deposuna yönetilen depolama ekleme.

Yönetilen depolama konumu nedir?

Yönetilen depolama konumları aşağıdaki özelliklere sahiptir:

  • Yönetilen tablolar ve yönetilen birimler, verileri ve meta veri dosyalarını yönetilen depolama konumlarında depolar.
  • Yönetilen depolama konumları dış tablolarla veya dış birimlerle çakışamaz.

Aşağıdaki tabloda, yönetilen depolama konumunun nasıl bildirdiği ve Unity Kataloğu nesneleriyle nasıl ilişkilendirildiği açıklanmaktadır:

İlişkili Unity Kataloğu nesnesi Nasıl ayarlanır? Dış konumlarla ilişki
Meta veri deposu Meta veri deposu oluşturma sırasında hesap yöneticisi tarafından yapılandırılır. Dış konumla örtüşemez.
Standart katalog anahtar sözcüğü kullanılarak MANAGED LOCATION katalog oluşturma sırasında belirtilir veya kullanılarak ALTER CATALOG SET MANAGED LOCATIONoluşturulduktan sonra değiştirilir. Harici bir konumda bulunmalıdır.
Yabancı katalog Katalog Gezgini kullanılarak katalog oluşturulduktan sonra belirtilir. Harici bir konumda bulunmalıdır.
Şema anahtar sözcüğü kullanılarak MANAGED LOCATION şema oluşturma sırasında belirtilir veya kullanılarak ALTER SCHEMA SET MANAGED LOCATIONoluşturulduktan sonra değiştirilir. Harici bir konumda bulunmalıdır.

Uyarı

Unity Kataloğu bir çalışma alanı için otomatik olarak etkinleştirildiğinde, Azure Databricks yönetilen depolama konumuna sahip bir çalışma alanı kataloğu oluşturur. Tüm çalışma alanı kullanıcıları, çalışma alanı kataloğu şemasında default yönetilen tablolar ve birimler oluşturabilir. Çalışma alanı katalogları hakkında daha fazla bilgi için bkz. Unity Kataloğu'nu kullanmaya başlama.

Yönetilen tablolar ve yönetilen birimler için verileri ve meta verileri depolayan yönetilen depolama konumu aşağıdaki kuralları kullanır:

  • İçeren şemanın yönetilen konumu varsa, veriler şema tarafından yönetilen konumda depolanır.
  • İçeren şemanın yönetilen konumu yoksa ancak kataloğun yönetilen konumu varsa, veriler katalog tarafından yönetilen konumda depolanır.
  • Ne içeren şema ne de içeren katalog yönetilen bir konuma sahip değilse, veriler metastore tarafından yönetilen konumda depolanır.

Unity Kataloğu, konum idaresinin çakışmasını önler. Bkz. Unity Kataloğu birimlerinde yol kuralları ve erişim.

Yönetilen depolama konumu, depolama kökü ve depolama konumu

Katalog veya şema için bir MANAGED LOCATION belirttiğinizde, belirtilen konum Unity Kataloğu'ndaki Depolama Kökü olarak takip edilir. Tüm yönetilen varlıkların benzersiz bir konuma sahip olduğundan emin olmak için Unity Kataloğu aşağıdaki biçimi kullanarak belirtilen konuma karma alt dizinler ekler:

Nesne Yol
Şema <storage-root>/__unitystorage/schemas/00000000-0000-0000-0000-000000000000
Katalog <storage-root>/__unitystorage/catalogs/00000000-0000-0000-0000-000000000000

Yönetilen depolama konumu için tam nitelikli yol, Unity Kataloğu'nda Depolama Konumu olarak izlenir.

Birden çok şema ve katalog için aynı yönetilen depolama konumunu belirtebilirsiniz.

Gerekli ayrıcalıklar

Dış konumda CREATE MANAGED STORAGE ayrıcalığına sahip kullanıcılar, katalog veya şema oluşturma sırasında yönetilen depolama konumlarını yapılandırabilir.

Hesap yöneticileri meta veri deposu düzeyinde isteğe bağlı bir yönetilen depolama konumu ekleyebilir.

Ayrıcalığa MANAGE sahip kullanıcılar ve katalog sahipleri, yabancı bir kataloğa yönetilen bir depolama yeri ekleyebilir.

Standart bir kataloğun veya şemanın yönetilen depolama konumunu değiştirmek için, kataloğun veya şemanın sahibi olmanız veya MANAGE bunun üzerinde ayrıcalığınız olması ve hedef dış konumda ayrıcalığınız olması CREATE MANAGED STORAGE gerekir.

Meta veri deposu için yönetilen depolama konumu ayarlama

Meta veri deposu için yönetilen depolama konumu ayarlamak için bkz. Var olan meta veri deposuna yönetilen depolama ekleme.

Standart katalog için yönetilen depolama konumu ayarlama

Aşağıdaki örnekte olduğu gibi katalog oluşturma sırasında anahtar sözcüğünü MANAGED LOCATION kullanarak standart bir katalog için yönetilen depolama konumu ayarlayın:

CREATE CATALOG <catalog-name>
MANAGED LOCATION 'abfss://<container-name>@<storage-account>.dfs.core.windows.net/<path>/<directory>';

MANAGED LOCATION dizesi, URI şeması ve yolu da dahil olmak üzere. 512 karakter veya daha az olmalıdır.

Katalog için yönetilen depolama konumunu ayarlamak için Katalog Gezgini'ni de kullanabilirsiniz. Bkz. Katalog oluşturma.

Standart katalog için yönetilen depolama konumunu değiştirme

Şunun için geçerlidir:evet olarak işaretlendi Databricks SQL evet olarak işaretlendi Databricks Runtime 18.1 ve üzeri

Mevcut bir kataloğun yönetilen depolama konumunu değiştirmek için kullanın ALTER CATALOG SET MANAGED LOCATION.

Uyarı

Yönetilen depolama konumunun değiştirilmesi yalnızca değişiklik sonrasında oluşturulan yeni yönetilen tabloları ve birimleri etkiler. Mevcut yönetilen nesneler yeni konuma taşınmaz.

ALTER CATALOG <catalog-name>
SET MANAGED LOCATION 'abfss://<container-name>@<storage-account>.dfs.core.windows.net/<path>/<directory>';

MANAGED LOCATION dizesi, URI şeması ve yolu da dahil olmak üzere. 512 karakter veya daha az olmalıdır.

Yabancı katalog için yönetilen depolama konumu ayarlama

Katalog Gezgini'ne kullanarak yabancı katalog için yönetilen depolama konumu ayarlayabilirsiniz.

  1. Meta veri deposuyla bağlantılı bir çalışma alanına giriş yapın.
  2. Veri simgesine tıklayın. Katalog'a gidin.
  3. Katalog bölmesinde kataloğu bulun ve adına tıklayın.
  4. Depolama konumu altındaDepolama konumu ekle'ye tıklayın.
  5. Dış konum seçin bölümünde bir dış konum seçin veya yeni bir konum oluşturun ve yolu belirtin.
  6. Kaydet'e tıklayın.

Şema için yönetilen depolama konumu ayarlama

Şema oluşturma sırasında aşağıdaki örnekte olduğu gibi MANAGED LOCATION anahtar sözcüğünü kullanarak şema için yönetilen depolama konumu ayarlayın:

CREATE SCHEMA <catalog>.<schema-name>
MANAGED LOCATION 'abfss://<container-name>@<storage-account>.dfs.core.windows.net/<path>/<directory>';

MANAGED LOCATION dizesi, URI şeması ve yolu da dahil olmak üzere. 512 karakter veya daha az olmalıdır.

Şemanın yönetilen depolama konumunu ayarlamak için Katalog Gezgini'ni de kullanabilirsiniz. Bkz . Şema oluşturma.

Şema için yönetilen depolama konumunu değiştirme

Şunun için geçerlidir:evet olarak işaretlendi Databricks SQL evet olarak işaretlendi Databricks Runtime 18.1 ve üzeri

Mevcut şemanın yönetilen depolama konumunu değiştirmek için kullanın ALTER SCHEMA SET MANAGED LOCATION.

Uyarı

Yönetilen depolama konumunun değiştirilmesi yalnızca değişiklik sonrasında oluşturulan yeni yönetilen tabloları ve birimleri etkiler. Mevcut yönetilen nesneler yeni konuma taşınmaz.

ALTER SCHEMA <catalog>.<schema-name>
SET MANAGED LOCATION 'abfss://<container-name>@<storage-account>.dfs.core.windows.net/<path>/<directory>';

MANAGED LOCATION dizesi, URI şeması ve yolu da dahil olmak üzere. 512 karakter veya daha az olmalıdır.

Sonraki adımlar

Unity Kataloğu, yönetilen tablolar ve yönetilen birimler oluşturduğunuzda yönetilen depolama konumlarını otomatik olarak kullanır. Bkz. Delta Lake ve Apache Iceberg için Unity Catalog tarafından yönetilen tablolar ve Unity Catalog birimleri nelerdir?.