Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
На этой странице рассматриваются ограничения размера, поддерживаемые функции, рекомендации по безопасности и поведение CI/CD для папок Databricks Git. Общие ограничения ресурсов Databricks см. в разделе "Ограничения ресурсов". Сведения о поддерживаемых типах ресурсов в папках Git см. в статье "Поддерживаемые типы ресурсов" в папках Git.
Ограничения файлов и репозитория
Azure Databricks не применяет ограничение размера репозитория. Однако применяются следующие ограничения:
- Рабочие ветви ограничены 1 ГБ.
- Вы не можете просматривать файлы размером более 10 МБ в пользовательском интерфейсе Azure Databricks.
- Каждая операция Git поддерживает до 2 ГБ памяти и 4 ГБ операций записи диска.
- Отдельные файлы рабочей области имеют отдельные ограничения размера. См. Ограничения.
Databricks рекомендует сохранить общее количество ресурсов и файлов рабочей области до 20 000.
Так как ограничения применяются для каждой операции, клонирование репозитория размером 5 ГБ завершается ошибкой, но клонирование репозитория размером 3 ГБ и последующее добавление 2 ГБ завершается успешно. Если репозиторий превышает эти ограничения, может возникнуть ошибка или время ожидания во время клонирования, хотя операция может завершиться в фоновом режиме.
Чтобы работать с более крупными репозиториями, попробуйте выполнить разреженную проверку или команды интерфейса командной строки Git. Чтобы записать временные файлы, которые не сохраняются после завершения работы кластера, используйте $TEMPDIR. Это позволяет избежать превышения ограничений размера ветви и обеспечивает лучшую производительность, чем запись в рабочий каталог (CWD) в файловой системе рабочей области. См. статью Куда следует записывать временные файлы на Azure Databricks?.
Локальные ветви могут оставаться в связанной папке Git до 30 дней после удаления удаленной ветви. Чтобы полностью удалить локальную ветвь, удалите репозиторий.
Уменьшение размера репозитория
Если ваш репозиторий превышает ограничения по размеру из-за больших файлов, добавление их в .gitignore не уменьшит размер репозитория. Файлы, уже зафиксированные в Git, остаются в журнале репозитория даже после добавления в .gitignore.
Чтобы уменьшить размер репозитория, выполните следующие действия.
- Используйте средства Git, например
git filter-repoили BFG Repo-Cleaner, чтобы удалить большие файлы из истории коммитов. Это переписывает историю и требует принудительной отправки (force push) в удаленный репозиторий. - Клонирование только определенных каталогов. См. Настройка режима разрежённой выборки.
- Переместите несвязанный код в отдельные репозитории.
Дополнительные сведения см. в разделе Удаление конфиденциальных данных из репозитория в документации GitHub.
Поддержка Monorepo
Databricks не рекомендует создавать папки Git, поддерживаемые monorepos — большими репозиториями Git с тысячами файлов во многих проектах. Клонирование монорепозитория может превысить ограничения на память и дисковое пространство Git, что замедляет операции с Git. Если ваш репозиторий содержит несколько проектов, рассмотрите возможность его разделения или использования разреженной проверки, чтобы ограничить клонирование каталогов. См. Настройка режима разрежённой выборки.
Конфигурации
Не все стандартные функции Git работают в папках Git, а содержимое хранится не так, как в локальном клоне. В следующих разделах объясняется, как работает хранилище, какие серверы поддерживаются, а также как работают такие функции, как .gitignore и подмодулы.
Хранилище содержимого репозитория
Azure Databricks временно клонирует содержимое репозитория на диск в плоскости управления. База данных плоскости управления хранит файлы записных книжек так же, как и в основной рабочей области. Файлы, не относящиеся к записной книжке, хранятся на диске до 30 дней.
Локальные и самостоятельно размещенные серверы Git
Папки Databricks Git поддерживают GitHub Enterprise, Bitbucket Server, Azure DevOps Server и GitLab с собственным управлением, если сервер доступен в сети Интернет. Дополнительные сведения см. в статье "Прокси-сервер Git" для папок Git для локальной интеграции.
Чтобы интегрироваться с Bitbucket Server, GitHub Enterprise Server или самостоятельно управляемым экземпляром GitLab, который недоступен в Интернете, обратитесь к команде по работе с клиентами Azure Databricks.
Поддерживаемые типы ресурсов
Дополнительные сведения о поддерживаемых типах активов см. в разделе "Поддерживаемые типы ресурсов" в папках Git.
Поддержка файла .gitignore
Папки Git поддерживают .gitignore файлы. Чтобы предотвратить отслеживание файла Git, добавьте имя файла (включая расширение) в .gitignore файл. Создайте один файл или используйте уже существующий, клонированный из удаленного репозитория.
.gitignore работает только для неотслеживаемых файлов. Добавление уже зафиксированного файла в .gitignore не удаляет его из истории Git и не уменьшает размер репозитория. Чтобы удалить зафиксированные файлы, см. статью "Уменьшить размер репозитория".
Поддержка подмодулы Git
Стандартные папки Git не поддерживают подмодулы Git, но папки Git с доступом Git CLI могут использовать их. См. статью "Использование команд командной строки Git ( бета-версия)".
поддержка Фабрика данных Azure
Фабрика данных Azure (ADF) поддерживает папки Git.
Управление источником
Несколько операций работают по-разному в папках Git, чем в стандартном рабочем процессе Git, особенно вокруг записных книжек и удаления ветвей.
Панели управления ноубуками и изменения ветки
Azure Databricks записные книжки исходного формата не хранят сведения о панели мониторинга.
Чтобы сохранить дашборды, смените формат записной книжки на формат .ipynb (Jupyter), который поддерживает определения дашбордов и визуализаций по умолчанию. Чтобы сохранить данные визуализации, зафиксируйте записную книжку с выходными данными.
См. Управление фиксациями выходных данных в записной книжке IPYNB.
Поддержка объединения ветвей
Папки Git поддерживают объединение ветвей. Вы также можете создать pull request и объединить через вашего Git-провайдера.
Удаление ветвей
Чтобы удалить ветвь, необходимо работать в поставщике Git.
приоритет зависимостей Python
Python библиотеки в папке Git имеют приоритет над библиотеками, хранящимися в другом месте. Например, если библиотека установлена в вычислительной среде Databricks, а библиотека с тем же именем существует в папке Git, библиотека папок Git импортируется. См. приоритет использования библиотек в Python.
Безопасность, проверка подлинности и маркеры
Azure Databricks хранит учетные данные Git в плоскости управления, а не в локальной среде. В следующих разделах описано, как шифруются содержимое папки Git, как хранятся и проверяются маркеры, а также что делать при возникновении проблем с проверкой подлинности.
Проблема с политикой условного доступа (CAP) для Microsoft Entra ID
При клонирование репозитория может возникнуть ошибка "отказано в доступе", если:
- Рабочая область Azure Databricks использует Azure DevOps с аутентификацией Microsoft Entra ID.
- Вы включили политику условного доступа в Azure DevOps и политику условного доступа Microsoft Entra ID.
Чтобы устранить эту проблему, добавьте исключение в политику условного доступа (CAP) для Azure Databricks IP-адресов или пользователей.
Дополнительные сведения см. в разделе "Политики условного доступа".
Allowlist с токенами Microsoft Entra ID
Если вы используете Microsoft Entra ID для проверки подлинности с помощью Azure DevOps, список разрешений по умолчанию ограничивает URL-адреса Git следующим образом:
dev.azure.comvisualstudio.com
Дополнительные сведения см. в списках разрешений URL-адресов Git.
Шифрование папок Git
Azure Databricks шифрует содержимое папки Git с помощью ключа по умолчанию. Управляемые клиентом ключи поддерживаются только для шифрования учетных данных Git.
Хранение и доступ к токенам GitHub
- В контрольной плоскости Azure Databricks хранятся токены аутентификации. Сотрудники могут обращаться только к ним с помощью проверенных временных учетных данных.
- Azure Databricks ведет журнал создания и удаления токенов, но не ведет журнал об использовании. Ведение журнала операций Git позволяет выполнять аудит использования токена приложением Azure Databricks.
- GitHub Enterprise проводит аудит использования токенов. Другие службы Git также могут предлагать аудит сервера.
Подписывание фиксации GPG
Папки Git не поддерживают GPG-подписывание коммитов.
Поддержка SSH
Папки Git поддерживают только ПРОТОКОЛ HTTPS, а не SSH.
ошибки межарендного Azure DevOps
При подключении к DevOps в отдельной аренде может появиться Unable to parse credentials from Azure Active Directory account. Если проект Azure DevOps находится в другом тенанте Microsoft Entra ID, чем Azure Databricks, используйте токен доступа Azure DevOps. См. личный маркер доступа.
CI/CD и MLOps
Если вы запускаете задания с файлами из папки Git, помните, что операции Git могут повлиять на состояние записных книжек и эксперименты MLflow таким образом, который может быть неочевидным.
Входящие изменения очищают состояние записной книжки
Операции Git, изменяющие исходный код записной книжки, приводят к потере состояния записной книжки, включая выходные данные ячеек, комментарии, журнал версий и мини-приложения. Например, git pull может изменить исходный код ноутбука, требуя от папок Git перезаписать существующий ноутбук. Такие операции, как git commit, pushили создание новой ветви, не влияют на исходный код и сохраняют состояние записной книжки.
Внимание
Эксперименты MLflow не работают в папках Git с Databricks Runtime 14.x или более ранней версией.
Эксперименты MLflow в папках Git
Существует два типа экспериментов MLflow: рабочая область и записная книжка. См. статью «Организация учебных запусков с использованием экспериментов MLflow».
Эксперименты рабочей области: Невозможно создать эксперименты MLflow рабочей области в папках Git. Записывайте запуски MLflow в эксперимент, созданный в обычной папке рабочей области. Для совместной работы с несколькими пользователями используйте общую папку рабочей области.
Эксперименты записной книжки. Вы можете создавать эксперименты записных книжек в папке Databricks Git. Если вы сохраняете блокнот в систему управления версиями как
.ipynbфайл, MLflow создает запись в автоматический эксперимент. Управление версиями не включает в себя эксперимент или его запуски. См. раздел Создание эксперимента записной книжки.
Предотвращение потери данных в экспериментах MLflow
Эксперименты MLflow в записной книжке, созданные с помощью заданий Lakeflow с исходным кодом в удаленном репозитории, хранятся во временном хранилище. Эти эксперименты изначально сохраняются после выполнения рабочего процесса, но подвергаются риску удаления во время запланированной очистки. Databricks рекомендует использовать эксперименты MLflow в рабочей области, с заданиями и удаленными источниками Git.
Предупреждение
Переключение на ветвь, которая не содержит блокнот, связано с риском потери данных, связанных с экспериментами MLflow. Эта потеря становится постоянной, если вы не посещаете предыдущее отделение в течение 30 дней.
Чтобы восстановить отсутствующие данные эксперимента до истечения 30-дневного срока действия, восстановите исходное имя записной книжки, откройте записную книжку и щелкните
" в правой области. Это активирует mlflow.get_experiment_by_name() и восстанавливает эксперимент и продолжает выполнение. Через 30 дней Azure Databricks очищает потерянные эксперименты MLflow для соответствия GDPR.
Чтобы предотвратить потерю данных, избежать переименования записных книжек в репозитории. При переименовании записной книжки сразу же щелкните значок эксперимента в правой области.
Выполнение заданий во время операций Git
Во время операции Git некоторые записные книжки могут обновляться, в то время как другие еще нет, что приводит к непредсказуемому поведению.
Например, если notebook A вызывает notebook Z с использованием %run, и задание начинается во время операции Git, это задание может запустить последнюю версию notebook A с более старым notebook Z. Задание может завершиться ошибкой или запустить записные книжки из разных коммитов.
Чтобы избежать этого, настройте задачи для использования вашего Git-поставщика в качестве источника вместо пути рабочей области. См. статью "Использование Git с заданиями Lakeflow".
Дальнейшие действия
- Устранение ошибок папок Git
- Создание папок Git и управление ими
- Настройте интеграцию Git для папок Git