Объемы
Область применения: Databricks SQL Databricks Runtime 13.3 LTS и более поздней версии каталога Unity
Тома — это объекты каталога 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 облачного хранилища.
Управление файлами в томах
Область применения: Databricks SQL Connector
С помощью соединителя SQL Databricks можно управлять файлами в томах с помощью следующих команд:
- ВСТАВЬТЕ В файл, чтобы скопировать файл из локального хранилища в том.
- ПОЛУЧИТЕ , чтобы скопировать файл из тома в локальное хранилище.
- REMOVE , чтобы удалить файл из тома.
Примеры
--- 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