Поделиться через


Устранение проблем с доступом к хранилищу пула Apache Spark в Azure Synapse Analytics

Область применения: Azure Synapse Analytics

Apache Spark — это платформа параллельной обработки, которая поддерживает обработку в памяти, чтобы повысить производительность приложений для анализа больших данных. Apache Spark в Azure Synapse Analytics — это одна из реализаций Apache Spark в облаке. Azure Synapse упрощает создание и настройку бессерверного пула Apache Spark в Azure. Пулы Spark в Azure Synapse совместимы со службой хранилища Azure и Azure Data Lake Storage 2-го поколения. Следовательно, пулы Spark можно использовать для обработки данных, хранящихся в Azure.

Если у вас возникли проблемы с доступом к хранилищу пула, такие как ошибки "403" или сбой рабочей области Synapse для поиска связанных служб, воспользуйтесь предоставленным руководством для устранения проблем.

Неподдерживаемые сценарии

Следующие варианты использования не поддерживаются при подключении к учетной записи хранения из пула Synapse Spark:

  • Подключение к учетной записи хранения ADLS 1-го поколения
  • Подключение к учетной записи хранения ADLS 2-го поколения с помощью управляемого удостоверения, назначаемого пользователем
  • Подключение к учетной записи хранения ADLS 2-го поколения, которая имеет:
    • Общей рабочей области Synapse виртуальной сети
    • Учетной записи хранения с поддержкой брандмауэра

Распространенные проблемы и решения

Ошибка Решение
"errorMessage":"LSRServiceException имеет значение [{"StatusCode":400,"ErrorResponse":{"code":"LSRLinkedServiceFailure","message":"Не удалось найти связанную службу AzureDataLakeStorage1; Эта ошибка возникает, если рабочая область Synapse связана с репозиторием Git, Azure DevOps Services или GitHub. Он также создается, когда артефакт, например записная книжка или связанная служба, не публикуется.

Вручную опубликуйте изменения кода в ветви совместной работы в службе Synapse.
stdout: Exception in thread "main" org.apache.hadoop.fs.FileAlreadyExistsException: Operation failed: "This endpoint does not support BlobStorageEvents or SoftDelete. Отключите эти функции учетной записи, если вы хотите использовать эту конечную точку.", 409, HEAD, https://< storageaccountname.dfs.core.windows.net/scripts/?upn=false&action=getAccessControl&timeout=90> Убедитесь, что хранилище ADLS 2-го поколения настроено в качестве основного хранилища.

Чтобы отключить SoftDelete, снимите флажок "Включить обратимое удаление BLOB-объектов" для учетной записи хранения.

Устранение неполадок с "403"

Доступ к хранилищу и доступ к учетной записи

  • Для записи в хранилище с помощью конвейера MSI рабочей области Synapse является субъектом безопасности, выполняющим любые операции, такие как чтение, запись и удаление в хранилище.
    • Убедитесь, что учетная запись MSI рабочей области имеет роль участника данных BLOB-объектов хранилища для выполнения всех действий.
  • Если вы используете записные книжки Azure для доступа к учетной записи хранения, используйте учетную запись входа, если доступ к хранилищу не выполняется через связанные службы.
    • Учетная запись пользователя, вошедшего в систему, должна иметь роль участника данных BLOB-объектов хранилища, чтобы иметь полный доступ и разрешения.
  • Чтобы подключиться к хранилищу, используйте связанную службу и проверку подлинности субъекта-службы. Затем приложение, зарегистрированное в Azure Active, должно быть назначено "Участник данных BLOB-объектов хранилища" в хранилище Azure.

Для реализации управления доступом на основе ролей (RBAC) в хранилище сведения контролируются на уровне контейнера. Дополнительные сведения см. в статье Модель контроля доступа в Azure Data Lake Storage 2-го поколения.

Управление доступом на основе ролей Azure

Управление доступом на основе ролей Azure использует назначения ролей для применения наборов разрешений для субъектов безопасности, таких как MSI рабочей области Synapse, пользователь вошедшего в систему или регистрация приложения в идентификаторе Microsoft Entra. Такие роли, как владелец, участник, читатель и участник учетной записи хранения, позволяют субъекту безопасности управлять учетной записью хранения.

Доступ к спискам управления

Используйте списки управления доступом (ACL), чтобы применить подробные уровни доступа к каталогам и файлам.

  • Если роли доступа к данным, такие как средство чтения данных BLOB-объектов хранилища или участник данных BLOB-объектов хранилища, находятся для субъекта безопасности, выполняется проверка, чтобы проверить, имеет ли роль разрешения на выполнение таких действий, как запись, чтение и удаление. В этом случае субъект безопасности может получить доступ ко всем файлам и папкам на основе роли контейнера.
    • Нет дополнительных проверок ACL для файлов или папок.
  • Если роль доступа к данным не найдена для субъекта безопасности на уровне контейнера хранилища, проверки ACL выполняются в файлах и папках.

Ресурсы