Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В Microsoft Fabric средах предоставляют гибкую конфигурацию для выполнения задач Spark. Библиотеки предоставляют повторно используемый код для записных книжек и определений заданий Spark. Помимо встроенных библиотек, которые входят в каждую среду выполнения Spark, можно установить общедоступные и пользовательские библиотеки в Fabric средах.
Примечание.
Перейдите в рабочую область, в которой находится ваша среда, выберите параметры управления средой и библиотекой, расположенные в левой области навигации. Если у вас не создана среда, см. статью Создание, настройка и использование среды в Fabric.
Встроенные библиотеки
В Fabric каждая версия среды выполнения поставляется предварительно загруженной набором встроенных библиотек, оптимизированных для производительности, совместимости и безопасности в Python, R, Java и Scala. Страница встроенных библиотек в среде позволяет просматривать и искать эти предварительно установленные библиотеки на основе выбранной среды выполнения.
Эти библиотеки устанавливаются по умолчанию в каждой среде и не могут быть изменены. Они будут доступны, если вы запускаете записную книжку или определение задания Spark в этой среде.
Сведения о списке предварительно установленных пакетов и их версиях для каждой среды выполнения см. в разделе Apache Spark runtimes in Fabric.
Примечание.
Подходы для отдельной записной книжки, такие как папка "Ресурсы записной книжки" и встроенные команды для установки (например, %pip install или %conda install в ячейке кода), выполняются вручную, охватывают весь сеанс или только одну записную книжку и не зависят от публикации среды. Используйте их для быстрых одноуровневых добавлений библиотек во время интерактивной разработки.
Это важно
Fabric поддерживает различные способы управления пакетами. Для дополнительных параметров и лучших практик см. статью Управление библиотеками Apache Spark в Fabric. Если в рабочей области используются сетевые функции, такие как защита исходящего доступа к рабочей области или управляемые виртуальные сети, доступ к общедоступным репозиториям, таким как PyPI, заблокирован. Инструкции см. в разделе Управление библиотеками с ограниченным доступом к сети в Fabric. Если встроенные версии библиотеки не соответствуют вашим потребностям, их можно переопределить, указав нужную версию в разделе внешнего репозитория или отправив собственные пользовательские пакеты.
Внешние репозитории
Вы можете добавлять библиотеки из общедоступных репозиториев, таких как PyPI, Conda и Maven, или из частных репозиториев. Параметры режима источника и публикации различаются в зависимости от типа репозитория. При добавлении библиотеки выберите режим публикации (полный или быстрый). Дополнительные сведения о том, как работает каждый режим, см. в разделе "Выбор режима публикации" для библиотек.
Добавление библиотеки из общедоступного репозитория Python
Общедоступные репозитории позволяют устанавливать пакеты из PyPI или Conda.
На вкладке "Внешние репозитории" выберите "Добавить библиотеку".
Выберите "Добавить библиотеку" из общедоступного репозитория.
Выберите источник (PyPI или Conda).
Введите имя библиотеки в поле поиска. По мере ввода поле поиска предлагает популярные библиотеки, но список ограничен. Если вы не видите вашу библиотеку, введите ее полное название.
Если имя библиотеки найдено, вы увидите доступные версии.
Выберите версию, а затем сохраните и опубликуйте вашу среду.
Добавление библиотеки из Maven
Fabric поддерживает установку библиотек непосредственно из репозиториев Maven. Для этого создайте POM-файл , который содержит зависимости Maven, которые необходимо установить, и отправьте его в среду.
На вкладке "Внешние репозитории " выберите "Импорт pom.xml".
Выберите файл pom.xml из локального каталога.
Примечание.
- Импорт pom.xml поддерживается только в Spark 4.0 и более поздних версий.
- Импорт pom.xml поддерживается только в полном режиме. В этом режиме Fabric выполняет разрешение зависимостей и обнаружение конфликтов для пакетов Maven. Если любая библиотека несовместима с средой выполнения, вы увидите ошибку после публикации.
- Импорт pom.xml не поддерживается в рабочих областях с включенной защитой от исходящего доступа. В этих рабочих областях скачайте необходимые библиотеки из Maven и загрузите их в качестве пользовательских библиотек.
Добавление библиотеки из частного репозитория
Частные репозитории позволяют устанавливать пакеты с помощью pip или conda.
На вкладке "Внешние репозитории" выберите "Добавить библиотеку".
Выберите "Добавить библиотеку" из частного репозитория.
Выберите источник (pip или conda).
Введите имя и версию библиотеки. Введите имя и версию библиотеки точно, поскольку поиск библиотек в частных репозиториях по мере ввода не поддерживается. Неверные сведения о пакете приводят к сбою публикации.
Добавление библиотек из канала артефактов Azure
Azure веб-каналы артефактов могут быть ограничены либо проектом (частным), либо организацией (общедоступной). Fabric поддерживает оба контекста. Независимо от видимости канала в Azure DevOps, Fabric всегда подключается через подключение к Data Factory с проверкой подлинности, поэтому необходимо настроить подключение даже для общедоступных каналов.
Примечание.
Установка библиотек из канала артефактов Azure поддерживается в Spark 3.5. Он не поддерживается в рабочих областях с поддержкой Private Link или защиты исходящего доступа.
Настройка подключения для канала артефактов Azure
Среда не сохраняет учетные данные напрямую. Вместо этого вы создаете подключение через Data Factory Connector и ссылаетесь на него по идентификатору подключения в файле YML. Дополнительные сведения о Azure Artifact Feed.
Щелкните значок шестеренки Settings в правом верхнем углу портала Fabric, а затем выберите Управление подключениями и шлюзами.
Создайте новое подключение. Выберите + Создать, а затем выберите Облако в качестве типа и выберите Azure Artifact Feed (предварительная версия) в качестве типа подключения.
Введите URL-адрес потока и личный токен доступа (PAT) с правами на
чтение пакетов . Выберите "Разрешить Code-First артефактам, таким как записные книжки, доступ к этому подключению (бета-версия)".
Нажмите кнопку "Создать", чтобы сохранить подключение. Вы увидите его в списке подключений.
Запишите идентификатор подключения после создания. Он понадобится нам на следующем шаге.
Подготовка и отправка файла YML
Создайте файл YML, который содержит пакеты, которые нужно установить, и ссылается на идентификатор подключения вместо URL-адреса и учетных данных веб-канала. Fabric использует идентификатор подключения для аутентификации и извлечения пакетов из фида в момент публикации.
Стандартная конфигурация pip ссылается на URL-адрес и учетные данные канала напрямую:
dependencies:
- pip:
- fuzzywuzzy==0.18.0
- wordcloud==1.9.4
- --index-url <URL_TO_THE_AZURE_ARTIFACT_FEED_WITH_AUTH>
Для Fabric замените URL-адрес идентификатором подключения, записанным ранее:
dependencies:
- pip:
- fuzzywuzzy==0.18.0
- wordcloud==1.9.4
- --index-url <YOUR_CONNECTION_ID>
Отправьте файл YML непосредственно в среду или перейдите в представление редактора YML и вставьте содержимое. При публикации среды Fabric считывает пакеты из фида и сохраняет их в системе. Если вы обновляете пакеты в канале артефактов Azure, перепубликуйте среду, чтобы получить последние версии.
Примечание.
- В представлении списка можно добавлять, удалять или изменять библиотеки из существующих подключений веб-канала. Чтобы добавить, удалить или изменить само подключение к каналу, перейдите в режим редактора YML и обновите файл YML напрямую.
- Можно указать несколько фидов в файле YML. Fabric выполняет поиск в порядке, указанном до тех пор, пока пакет не будет найден. Общедоступные репозитории, такие как PyPI и Conda, запрашиваются автоматически в последнюю очередь, даже если они не включены в файл YML.
- Если пакет в файле YML не удается найти ни в одном из перечисленных веб-каналов, опубликовать не удается. Перед публикацией дважды проверьте имя пакета и версию.
Управление внешними библиотеками
После добавления внешних библиотек их можно управлять из раздела "Внешние репозитории ".
- Фильтр — используйте имя пакета в качестве ключевого слова для фильтрации списка внешних библиотек.
- Обновление — выберите библиотеку для обновления его имени, версии или типа источника в представлении списка. В редакторе YML можно также обновить идентификатор подключения канала артефактов Azure.
- Удаление — наведите указатель мыши на строку библиотеки, чтобы просмотреть параметр "Удалить " или выберите несколько библиотек, а затем нажмите кнопку "Удалить". Вы также можете удалить библиотеки с помощью представления редактора YML.
- Просмотр зависимостей — наведите указатель мыши на библиотеку общедоступного репозитория и выберите "Просмотреть зависимости" , чтобы получить дерево зависимостей. Информация о зависимостях недоступна для частных библиотек или библиотек из канала артефактов Azure.
-
Экспорт в .yml — экспортируйте полный список внешних библиотек в
.ymlфайл и скачайте его в ваш локальный каталог.
Пользовательские библиотеки
Пользовательские библиотеки ссылаются на код, созданный вами или вашей организацией. Fabric поддерживает файлы пользовательской библиотеки в форматах .whl, .py, .jar и .tar.gz. Как и во внешних библиотеках, вы выбираете режим публикации (полный или быстрый) при отправке пользовательских пакетов. Дополнительные сведения см. в разделе "Выбор режима публикации" для библиотек.
Примечание.
Fabric поддерживает только файлы .tar.gz для языка R. Используйте формат файла .whl и .py для языка Python.
Используйте кнопки "Отправить и скачать " на странице "Пользовательские библиотеки", чтобы добавить библиотеки из локального каталога или скачать их локально.
Чтобы удалить библиотеку, наведите указатель мыши на ее строку и выберите значок корзины или выберите несколько библиотек, а затем нажмите кнопку "Удалить".
Выбор режима публикации для библиотек
При добавлении внешних или пользовательских библиотек вы выбираете режим публикации. Полный режим доступен для всех источников библиотек и типов рабочих нагрузок. Быстрый режим доступен для общедоступных репозиториев и большинства пользовательских форматов библиотек, но только при выполнении записных книжек.
В следующей таблице показано, какой режим публикации поддерживает каждый источник библиотеки.
| Источник библиотеки | Полный режим | Быстрый режим |
|---|---|---|
| Общедоступный репозиторий (PyPI/Conda) | Да | Да |
| Частный репозиторий (pip/conda) | Да | Нет |
| Фид артефактов Azure | Да | Нет |
Custom .whl, , .py.tar.gz |
Да | Да |
Настраиваемый код .jar |
Да | Нет |
Выбор подходящего режима для ваших потребностей
Используйте сложность зависимостей и тип рабочей нагрузки, чтобы решить, какой режим подходит.
- Полный режим разрешает зависимости, проверяет совместимость и создает стабильный моментальный снимок библиотеки во время публикации. Этот снимок активируется при запуске нового сеанса. Лучше всего подходит для больших наборов зависимостей (например, более 10 пакетов), рабочих нагрузок и конвейеров. Публикация обычно занимает от 3 до 6 минут; Запуск сеанса добавляет от 1 до 3 минут для развертывания зависимостей в зависимости от размера зависимостей. Чтобы поддерживать стабильный моментальный снимок при достижении примерно 5-секундного запуска сеанса, используйте полный режим вместе с настраиваемым пулом в реальном времени.
- Быстрый режим пропускает обработку зависимостей во время публикации и устанавливает пакеты при запуске сеанса записной книжки. Лучше всего подходит для более легких наборов зависимостей, быстрой итерации и ранних экспериментов. Публикация завершается примерно через 5 секунд; Установка библиотеки происходит при запуске сеанса.
Вы можете смешивать режимы во время разработки. Распространенный шаблон — выполнить итерацию в быстром режиме, а затем переместить проверенные зависимости в полный режим для стабильного рабочего моментального снимка. Кроме того, можно сохранить существующий моментальный снимок полного режима без изменений и создать новый тестовый пакет в быстром режиме — сначала развертывается моментальный снимок полного режима, а затем пакеты быстрого режима устанавливаются сверху.
Ограничения режима и поведение
Имейте в виду эти ограничения при работе с режимами публикации.
- Быстрый режим работает только с записными книжками, а не определениями заданий Spark.
- Чтобы переместить пользовательскую библиотеку между режимами, скачайте файл, удалите его из текущего режима, а затем отправьте его в целевой режим. Прямая передача между режимами не поддерживается.
- Журналы установки не отображаются в записной книжке. Используйте мониторинг (уровень 2) для отслеживания хода выполнения и устранения неполадок.
- Если оба режима содержат пакеты, сначала применяется снимок полного режима. Пакеты быстрого режима устанавливаются поверх и переопределяют любой пакет полного режима с тем же именем.
- При наличии повторяющихся пакетов в разных режимах версии быстрого режима переопределяют версии полного режима только для текущего сеанса записной книжки. При запуске нового сеанса сначала применяется моментальный снимок полного режима, а затем пакеты быстрого режима устанавливаются сверху.
- Пакеты быстрого режима устанавливаются при запуске первой ячейки кода для этого языка. Например, Python пакеты устанавливаются при первом запуске Python ячейки, а пакеты R устанавливаются при запуске первой ячейки R.