Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Тома — это объекты каталога Unity, которые обеспечивают управление нетабличными наборами данных. Томы представляют собой логическую единицу хранения в облачном объектном хранилище. Тома предоставляют возможности для доступа к файлам, их хранения, управления ими и упорядочения.
Хотя таблицы управляют табличными данными, тома управляют не табличными данными любого формата, включая структурированные, полуструктурированные или неструктурированные.
Databricks рекомендует использовать тома для регулирования доступа ко всем данным в нетабличной форме. Тома доступны в двух типах:
- Управляемые тома: Для простого хранилища, которым управляет Databricks.
- Внешние тома: для управления существующими расположениями облачного объектного хранилища.
Варианты использования томов
Варианты использования томов:
- Зарегистрируйте целевые области для необработанных данных, созданных внешними системами для поддержки их обработки на ранних этапах конвейеров ETL и других действий по проектированию данных.
- Зарегистрируйте промежуточные расположения для приема. Например, с помощью инструкций Auto Loader
COPY INTOили CTAS (CREATE TABLE AS). - Предоставьте места хранения файлов для специалистов по обработке и анализу данных, аналитиков и инженеров машинного обучения, которые будут использоваться в рамках анализа и других задач обработки и анализа данных.
- Предоставление пользователям Azure Databricks доступа к произвольным файлам, созданным и размещенным в облачном хранилище другими системами. Например, большие коллекции неструктурированных данных (например, изображения, аудио, видео и PDF-файлы), захваченные системами наблюдения или устройствами Интернета вещей, или файлы библиотеки (JAR и файлы колес Python), экспортированные из локальных систем управления зависимостями или конвейеров CI/CD.
- Храните операционные данные, такие как ведение журнала или файлы контрольных точек.
См. демонстрацию работы с томами в разделе «Упрощение извлечения файлов, изображений и данных с помощью томов каталога Unity».
Important
Невозможно зарегистрировать файлы в томах в качестве таблиц в каталоге Unity. Тома предназначены только для доступа к данным, использующих пути. Используйте таблицы, если вы хотите работать с табличными данными в каталоге Unity.
Управляемые и внешние тома
Управляемые и внешние тома обеспечивают практически идентичные возможности при использовании средств Azure Databricks, интерфейсов UIs и API. Основные различия связаны с расположением хранилища, жизненным циклом и контролем:
| Функция | Управляемые тома | Внешние тома |
|---|---|---|
| Расположение хранилища | Создано в управляемом UC хранилище для схемы | Зарегистрировано в существующем пути к хранилищу облачных объектов |
| Жизненный цикл данных | UC управляет макетом и процессом удаления (удаление с сохранением данных на срок 7 дней) | Данные остаются в облачном хранилище при уменьшении тома. |
| Управление доступом | Весь доступ проходит через UC | UC управляет доступом, но внешние средства могут использовать прямые URI |
| Требуется миграция? | нет | Нет— используйте существующие пути хранения as-is |
| Типичный вариант использования | Самый простой вариант для рабочих нагрузок, доступных только для Databricks | Комбинированный доступ к Databricks и внешним системам |
Зачем использовать управляемые тома?
Управляемые тома имеют следующие преимущества:
- Выбор по умолчанию для рабочих нагрузок Databricks.
- Нет необходимости управлять облачными учетными данными или путями хранения вручную.
- Самый простой вариант для быстрого создания управляемых расположений хранения.
Зачем использовать внешние тома?
Внешние тома позволяют добавлять управление данными каталога Unity в существующие каталоги облачного хранилища объектов. Ниже приведены некоторые варианты использования внешних томов:
- Добавление системы управления, в которой уже находятся данные, без необходимости копирования данных.
- Управление файлами, созданными другими системами, которые должны быть потреблены или доступны в Azure Databricks.
- Управление данными, созданными Azure Databricks, которые должны быть доступны непосредственно из облачного хранилища объектов другими системами.
Databricks рекомендует использовать внешние тома для хранения не табличных файлов данных, которые считываются или записываются внешними системами в дополнение к Azure Databricks. Каталог Unity не управляет чтением и записью непосредственно в облачном хранилище объектов из внешних систем, поэтому необходимо настроить дополнительные политики и учетные данные в облачной учетной записи, чтобы политики управления данными соблюдались за пределами Azure Databricks.
Путь к файлам в томе
Тома данных располагаются на третьем уровне трехуровневого пространства имен каталога Unity (catalog.schema.volume):
схема объектной модели каталога Unity 
Путь доступа к томам совпадает с использованием Apache Spark, SQL, Python или других языков и библиотек. Это отличается от устаревших шаблонов доступа для файлов в хранилище объектов, привязанных к рабочей области Azure Databricks.
Путь к файлам в томах использует следующий формат:
/Volumes/<catalog>/<schema>/<volume>/<path>/<file-name>
Azure Databricks также поддерживает необязательную dbfs:/ схему при работе с Apache Spark, поэтому следующий путь также работает:
dbfs:/Volumes/<catalog>/<schema>/<volume>/<path>/<file-name>
Часть /<catalog>/<schema>/<volume> пути соответствует трем именам объектов Unity Catalog для файла. Эти каталоги доступны только для чтения и управляются автоматически каталогом Unity. Невозможно создать или удалить их с помощью команд файловой системы.
Note
Вы также можете получить доступ к данным во внешних томах с помощью URI облачного хранилища.
Зарезервированные пути для томов
Volumes представляет следующие зарезервированные пути, используемые для доступа к томам:
dbfs:/Volumes/Volumes
Note
Пути также зарезервированы для возможных опечаток в этих путях из API Apache Spark и dbutils, включая /volumes, /Volume, /volume, независимо от того, предшествуют ли им dbfs:/. Путь /dbfs/Volumes также зарезервирован, но не может использоваться для доступа к томам.
Томы поддерживаются только в Databricks Runtime 13.3 LTS и выше. В версиях Databricks Runtime 12.2 LTS и ниже операции с путями /Volumes могут выполняться успешно, но данные будут записываться только на временные диски хранения, подключенные к вычислительным кластерам, вместо сохранения данных на томах Unity Catalog, как ожидалось.
Important
Если у вас есть предварительно существующие данные, хранящиеся в зарезервированном пути в корневом каталоге DBFS, отправьте запрос в службу поддержки, чтобы получить временный доступ к этим данным, чтобы переместить его в другое расположение.
Требования к вычислениям
При работе с томами необходимо использовать хранилище SQL или кластер под управлением Databricks Runtime 13.3 LTS или более поздней версии, если только вы не используете UIs Azure Databricks, например обозреватель каталогов.
Сведения о хранении контрольных точек DataFrame в томах см. в разделе " Контрольные точки DataFrame" в томах.
Limitations
Для взаимодействия с томами каталога Unity необходимо использовать вычислительные ресурсы с поддержкой каталога Unity.
В следующей таблице описаны ограничения томов каталога Unity на основе версии Databricks Runtime:
| Версия среды выполнения Databricks | Limitations |
|---|---|
| Все поддерживаемые версии среды выполнения Databricks |
|
| 14.3 LTS и все последующие версии |
|
| 14.2 и ниже |
|
Дальнейшие шаги
Дополнительные сведения о работе с томами см. в следующих статьях: