Объемы

Область применения:проверка помечены да Databricks SQL проверка помечены да Databricks Runtime 13.3 LTS и более поздней проверка помечены да версии каталога Unity

Тома — это объекты каталога Unity, представляющие логический том хранилища в расположении облачного хранилища объектов. Тома предоставляют возможности для доступа, хранения, управления и упорядочения файлов. Хотя таблицы обеспечивают управление табличными наборами данных, тома добавляют управление над не табличными наборами данных. Тома можно использовать для хранения и доступа к файлам в любом формате, включая структурированные, полуструктурированные и неструктурированные данные.

Тома представляют собой одноуровневые элементы для таблиц, представлений и других объектов, организованных в схеме в каталоге Unity.

Том может быть управляемым или внешним.

Дополнительные сведения и ограничения см. в статье "Создание и работа с томами".

Управляемый том

Управляемый том — это том хранилища, управляемый каталогом Unity, созданный в расположении хранилища по умолчанию содержащего схемы. Управляемые тома позволяют создавать управляемое хранилище для работы с файлами без затрат на внешние расположения и учетные данные хранения. Вам не нужно указывать расположение при создании управляемого тома, а доступ ко всем файлам для данных в управляемых томах осуществляется по путям, управляемым каталогом Unity.

Внешний том

Внешний том — это том хранилища, управляемый каталогом Unity, зарегистрированный в каталоге во внешнем расположении.

Именование томов и ссылка

Имя тома — это идентификатор, который может быть квалифицирован с помощью каталога и имени схемы в командах SQL.

Путь к файлам в томах использует следующий формат:

/Volumes/<catalog_identifier>/<schema_identifier>/<volume_identifier>/<path>/<file_name>

Обратите внимание, что Azure Databricks нормализует идентификаторы в нижнем регистре.

Azure Databricks также поддерживает необязательную dbfs:/ схему, поэтому следующий путь также работает:

dbfs:/Volumes/<catalog_identifier>/<schema_identifier>/<volume_identifier>/<path>/<file_name>

Примечание.

Вы также можете получить доступ к данным во внешних томах с помощью URI облачного хранилища.

Примеры

--- 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