Volumes
platí pro: Databricks SQL Databricks Runtime 13.3 LTS a vyšší Unity jenom Catalog
Volumes jsou objekty Unity Catalog představující logický svazek úložiště v cloudovém úložišti objektů. Volumes poskytují možnosti pro přístup k souborům, jejich ukládání, řízení a uspořádání. I když tables poskytuje řízení nad tabulkovými datovými sadami, volumes přidává řízení nad netabulkovými datovými sadami. Pomocí volumes můžete ukládat a přistupovat k souborům v libovolném formátu, včetně strukturovaných, částečně strukturovaných a nestrukturovaných dat.
Volumes jsou sourozenci s tables, viewsa dalšími objekty uspořádanými pod schema v Unity Catalog.
Svazek je možné spravovat nebo externí.
Další podrobnosti a omezení viz téma Co jsou Unity Catalogvolumes?.
Spravovaný svazek
Spravovaný svazek je svazek úložiště řízený Unity Catalog, vytvořený v rámci spravovaného umístění úložiště obsahujícího schema. "Spravované volumes umožňuje vytváření řízeného úložiště pro práci se soubory bez režijních nákladů na externí umístění a úložiště credentials." Při vytváření spravovaného svazku nemusíte zadávat umístění a veškerý přístup k souborům pro data v spravovaných volumes prochází cestami spravovanými Unity Catalog.
Externí svazek
Externí svazek je svazek úložiště řízený systémem Unity Catalog, zaregistrovaný v adresáři v externím umístění.
Pojmenování svazků a referenční informace
Název svazku je identifier, které lze v příkazech SQL kvalifikovat pomocí názvů catalog a schema.
Cesta pro přístup k souborům v volumes používá následující formát:
/Volumes/<catalog_identifier>/<schema_identifier>/<volume_identifier>/<path>/<file_name>
Všimněte si, že Azure Databricks normalizuje identifikátory na malá písmena.
Azure Databricks také podporuje volitelné dbfs:/
schéma, takže funguje i následující cesta:
dbfs:/Volumes/<catalog_identifier>/<schema_identifier>/<volume_identifier>/<path>/<file_name>
Poznámka:
K datům v externích volumes můžete přistupovat také pomocí identifikátorů URI cloudového úložiště.
Správa souborů v volumes
Platí pro: Konektor SQL Databricks
Pomocí konektoru SQL Databricks můžete spravovat soubory v volumes pomocí následujících příkazů:
- PUT INTO zkopírovat soubor z místního úložiště do svazku.
- GET zkopírovat soubor ze svazku do místního úložiště.
- Z REMOVE do remove souboru ze svazku.
Příklady
--- Create an external volume under the directory “my-path”
> CREATE EXTERNAL VOLUME IF NOT EXISTS myCatalog.mySchema.myExternalVolume
COMMENT 'This is my example external volume'
LOCATION 's3://my-bucket/my-location/my-path'
OK
--- Set the current catalog
> USE CATALOG myCatalog;
OK
--- Set the current schema
> USE SCHEMA mySchema;
OK
--- Create a managed volume; it is not necessary to specify a location
> CREATE VOLUME myManagedVolume
COMMENT 'This is my example managed volume';
OK
--- List the files inside the volume, all names are lowercase
> LIST '/Volumes/mycatalog/myschema/myexternalvolume'
sample.csv
> LIST 'dbfs:/Volumes/mycatalog/myschema/mymanagedvolume'
sample.csv
--- Print the content of a csv file
> SELECT * FROM csv.`/Volumes/mycatalog/myschema/myexternalvolume/sample.csv`
20
> SELECT * FROM csv.`dbfs:/Volumes/mycatalog/myschema/mymanagedvolume/sample.csv`
20