Объемы
применимо: Databricks SQL
Databricks Runtime 13.3 LTS и выше
каталоге Unity
Тома — это объекты каталога Unity Catalog, представляющие логический объем хранилища в расположении облачного хранилища объектов. Тома предоставляют возможности для доступа, хранения, управления и упорядочения файлов. Хотя таблицы обеспечивают управление табличными наборами данных, тома обеспечивают управление нетабличными наборами данных. Тома можно использовать для хранения и доступа к файлам в любом формате, включая структурированные, полуструктурированные и неструктурированные данные.
Тома являются родственными объектами к таблицам, представлениям и другим объектам, организованным внутри схемы в Unity Catalog.
Том может быть управляемым или внешним.
Дополнительные сведения и ограничения см. в разделе Что такое тома каталога Unity?.
Управляемый том
Управляемый том — это том хранилища под управлением Unity Catalog, созданный в управляемом месте хранения принадлежащей схемы. Управляемые тома позволяют создавать управляемое хранилище для работы с файлами без затрат на внешние расположения и учетные данные хранения. Вам не нужно указывать расположение при создании управляемого тома, а доступ ко всем файлам для данных в управляемых томах осуществляется по путям, управляемым каталогом 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 можно управлять файлами в томах с помощью следующих команд:
- PUT INTO, чтобы скопировать файл из локального хранилища в хранилище данных.
- GET для копирования файла из тома в локальное хранилище.
- Используйте 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