Sdílet prostřednictvím


Co jsou svazky katalogu Unity?

Svazky jsou objekty katalogu Unity, které umožňují zásady správného řízení nad ne tabulkovou datovou sadou. Svazky představují logický svazek úložiště v umístění cloudového úložiště objektů. Svazky poskytují možnosti pro přístup k souborům, jejich ukládání, řízení a uspořádání.

Zatímco tabulky poskytují zásady správného řízení nad tabulkovou datovou sadou, svazky přidávají zásady správného řízení nad ne tabulkovou datovou sadou. Svazky můžete použít k ukládání a přístupu k souborům v libovolném formátu, včetně strukturovaných, částečně strukturovaných a nestrukturovaných dat.

Databricks doporučuje používat svazky k řízení přístupu ke všem ne tabulkovým datům. Podobně jako u tabulek je možné svazky spravovat nebo externí.

Důležité

Svazky nelze použít jako umístění pro tabulky. Svazky jsou určeny pouze pro přístup k datům založeným na cestě. Tabulky použijte, když chcete pracovat s tabulkovými daty v katalogu Unity.

Následující články obsahují další informace o práci se svazky:

Poznámka:

Při práci se svazky musíte použít SQL Warehouse nebo cluster se spuštěným Modulem Databricks Runtime 13.3 LTS nebo novějším, pokud nepoužíváte uživatelská rozhraní Azure Databricks, jako je Například Catalog Explorer.

Co je spravovaný svazek?

Spravovaný svazek je svazek úložiště, který se řídí katalogem Unity vytvořeným v rámci spravovaného umístění úložiště obsahujícího schématu. Viz Určení spravovaného umístění úložiště v katalogu Unity.

Spravované svazky umožňují vytvořit spravované úložiště pro práci se soubory bez režie externích umístění a přihlašovacích údajů k úložišti. Při vytváření spravovaného svazku nemusíte zadávat umístění a veškerý přístup k souborům pro data ve spravovaných svazcích probíhá prostřednictvím cest spravovaných katalogem Unity.

Co je externí svazek?

Externí svazek je svazek úložiště, který se řídí katalogem Unity zaregistrovaný v adresáři v rámci externího umístění pomocí přihlašovacích údajů pro úložiště, které se řídí katalogem Unity.

Katalog Unity nespravuje životní cyklus a rozložení souborů v externích svazcích. Když odstraníte externí svazek, katalog Unity neodstraní podkladová data.

Jaká cesta se používá pro přístup k souborům ve svazku?

Svazky se nacházejí na třetí úrovni tříúrovňového oboru názvů katalogu Unity (catalog.schema.volume):

Diagram modelu objektu Unity, zaměřený na objem

Cesta pro přístup ke svazkům je stejná bez ohledu na to, jestli používáte Apache Spark, SQL, Python nebo jiné jazyky a knihovny. To se liší od starších vzorů přístupu pro soubory v úložišti objektů svázané s pracovním prostorem Azure Databricks.

Cesta pro přístup k souborům ve svazcích používá následující formát:

/Volumes/<catalog>/<schema>/<volume>/<path>/<file-name>

Azure Databricks také podporuje volitelné dbfs:/ schéma při práci s Apache Sparkem, takže funguje také následující cesta:

dbfs:/Volumes/<catalog>/<schema>/<volume>/<path>/<file-name>

Sekvence /<catalog>/<schema>/<volume> v cestě odpovídá třem názvům objektů katalogu Unity přidruženým k souboru. Tyto prvky cesty jsou jen pro čtení a ne přímo zapisovatelné uživateli, což znamená, že tyto adresáře není možné vytvářet ani odstraňovat pomocí operací systému souborů. Automaticky se spravují a synchronizují s odpovídajícími entitami katalogu Unity.

Poznámka:

K datům v externích svazcích můžete přistupovat také pomocí identifikátorů URI cloudového úložiště.

Rezervované cesty pro svazky

Svazky představují následující rezervované cesty používané pro přístup ke svazkům:

  • dbfs:/Volumes
  • /Volumes

Poznámka:

Cesty jsou také vyhrazeny pro potenciální překlepy pro tyto cesty z rozhraní Apache Spark API a dbutils, včetně /volumes, /volume/Volume, , zda jsou předcházet dbfs:/. Cesta /dbfs/Volumes je také vyhrazená, ale nelze ji použít pro přístup ke svazkům.

Svazky jsou podporovány pouze v Databricks Runtime 13.3 LTS a vyšší. V Databricks Runtime 12.2 LTS a níže mohou operace s /Volumes cestami uspět, ale mohou zapisovat data pouze do dočasných úložných disků připojených k výpočetním clusterům, místo aby se data uchovávala ve svazcích Katalogu Unity podle očekávání.

Důležité

Pokud máte předem existující data uložená v rezervované cestě v kořenovém adresáři DBFS, můžete vytvořit lístek podpory a získat dočasný přístup k datům a přesunout je do jiného umístění.

Omezení

Výpočetní prostředky s podporou katalogu Unity musíte použít k interakci se svazky katalogu Unity. Svazky nepodporují všechny úlohy.

Poznámka:

Svazky nepodporují dbutils.fs příkazy distribuované do exekutorů.

Platí následující omezení:

V Databricks Runtime 14.3 LTS a vyšší:

  • V clusterech uživatelů s jedním uživatelem nemáte přístup ke svazkům z vláken a podprocesů v jazyce Scala.

V Databricks Runtime 14.2 a níže:

  • Na výpočetních prostředcích nakonfigurovaných v režimu sdíleného přístupu nemůžete pro přístup ke svazkům používat funkce definované uživatelem.
    • Python nebo Scala mají přístup k FUSE z ovladače, ale ne z exekutorů.
    • Kód Scala, který provádí vstupně-výstupní operace, může běžet na ovladači, ale ne na exekutorech.
  • Na výpočetních prostředcích konfigurovaných v režimu přístupu jednoho uživatele neexistuje podpora FUSE v jazyce Scala, kódu Io Scala, který přistupuje k datům pomocí cest svazků nebo uživatelem definovaných uživatelem. Funkce definované uživatelem v Pythonu se podporují v režimu přístupu jednoho uživatele.

Ve všech podporovaných verzích Databricks Runtime:

  • Funkce UDF katalogu Unity nepodporují přístup k cestám k souborům svazku.

  • Svazky nelze získat přístup ze sad RDD.

  • Spark-submit nejde použít s JAR uloženými ve svazku.

  • Závislosti nelze definovat do jiných knihoven, ke které se přistupuje prostřednictvím cest svazků uvnitř kola nebo souboru JAR.

  • Objekty katalogu Unity nelze vypsat pomocí /Volumes/<catalog-name> vzorů./Volumes/<catalog-name>/<schema-name> Musíte použít plně kvalifikovanou cestu, která obsahuje název svazku.

  • Koncový bod DBFS pro rozhraní REST API nepodporuje cesty ke svazkům.

  • Svazky nelze zadat jako cíl pro doručování protokolů clusteru.

  • %sh mv nepodporuje přesouvání souborů mezi svazky. Použijte dbutils.fs.mv nebo %sh cp místo toho.

  • Nelze vytvořit vlastní systém souborů Hadoop se svazky, což znamená, že se nepodporuje následující:

    import org.apache.hadoop.fs.Path
    val path =  new Path("dbfs:/Volumes/main/default/test-volume/file.txt")
    val fs = path.getFileSystem(sc.hadoopConfiguration)
    fs.listStatus(path)
    
  • Svazky nejsou dostupné v oblastech Azure Government ani pracovních prostorech s dodržováním předpisů FedRAMP.

  • Na konfiguračním panelu knihovny Azure Data Factory musíte použít formát cesty se schématem dbfs:/ . Například dbfs:/Volumes/<catalog-name>/<schema-name>/<volume-name>/file.