Sdílet prostřednictvím


Volumes

platí pro:zaškrtněte políčko Ano Databricks SQL zaškrtněte políčko Ano Databricks Runtime 13.3 LTS a vyšší zaškrtněte políčko Ano 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:zaškrtnutí označeného ano 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