Dela via


Lösa problem med åtkomst till Apache Spark-poollagring i Azure Synapse Analytics

Gäller för: Azure Synapse Analytics

Apache Spark är ett ramverk för parallellbearbetning som stöder minnesintern bearbetning för att öka prestanda i program för stordataanalys. Apache Spark i Azure Synapse Analytics är en av Microsoft-implementeringarna av Apache Spark i molnet. Med Azure Synapse kan du enkelt skapa och konfigurera en serverlös Apache Spark-pool i Azure. Spark-pooler i Azure Synapse är kompatibla med Azure Storage och Azure Data Lake Generation 2-lagring. Därför kan du använda Spark-pooler för att bearbeta dina data som lagras i Azure.

Om du har problem med åtkomst till poollagring, till exempel "403"-fel eller fel på Synapse-arbetsytan för att hitta länkade tjänster, kan du använda den angivna vägledningen för att lösa dina problem.

Scenarier som inte stöds

Följande användningsfall stöds inte när du ansluter till ett lagringskonto från en Synapse Spark-pool:

  • Ansluta till ADLS Gen 1 Storage-konto
  • Ansluta till ADLS Gen 2 Storage-konto med användartilldelad hanterad identitet
  • Ansluta till ett ADLS Gen 2-lagringskonto som har:
    • Delad VNET Synapse-arbetsyta
    • Storage-konto med aktiverad brandvägg

Kända problem och lösningar

Fel Lösning
"errorMessage":"LSRServiceException is [{"StatusCode":400,"ErrorResponse":{"code":"LSRLinkedServiceFailure","message":"Det gick inte att hitta den länkade tjänsten AzureDataLakeStorage1; Det här felet genereras om en Synapse-arbetsyta är associerad med en Git-lagringsplats, Azure DevOps Services eller GitHub. Den genereras också när en artefakt som en notebook-fil eller länkad tjänst inte publiceras.

Publicera kodändringarna i samarbetsgrenen manuellt till Synapse-tjänsten.
stdout: Exception in thread "main" org.apache.hadoop.fs.FileAlreadyExistsException: Operation failed: ”Den här slutpunkten stöder inte BlobStorageEvents eller SoftDelete. Inaktivera dessa kontofunktioner om du vill använda den här slutpunkten.", 409, HEAD, https://< storageaccountname.dfs.core.windows.net/scripts/?upn=false&action=getAccessControl&timeout=90> Kontrollera att ADLS Gen 2-lagring har konfigurerats som primär lagring.

Om du vill inaktivera SoftDelete avmarkerar du kryssrutan Aktivera mjuk borttagning av blob för lagringskontot.

Felsöka problem med 403

Åtkomst till lagring och åtkomst till kontot

  • Om du vill skriva till lagring via en pipeline är Synapse Workspace MSI säkerhetsobjektet som kör alla åtgärder som Läs, Skriv och Ta bort på lagringen.
    • Kontrollera att MSI-kontot för arbetsytan har rollen Storage Blob Data Contributor för att utföra alla åtgärder.
  • Om du använder Azure Notebooks för att komma åt lagringskontot använder du det inloggade kontot, såvida du inte har åtkomst till lagring via länkade tjänster.
    • Det inloggade användarkontot bör ha rollen Storage Blob Data Contributor för att ha fullständig åtkomst och behörighet.
  • Om du vill ansluta till lagring använder du autentisering med länkad tjänst och tjänstens huvudnamn. Sedan ska programmet som är registrerat i Azure Active tilldelas "Storage Blob Data Contributor" på Azure Storage.

För implementering av rollbaserad åtkomstkontroll (RBAC) i lagringen kontrolleras informationen på containernivå. Mer information finns i Åtkomstkontrollmodellen i Azure Data Lake Storage Gen2.

Azure rollbaserad åtkomstkontroll

Rollbaserad åtkomstkontroll i Azure använder rolltilldelningar för att tillämpa uppsättningar med behörigheter på säkerhetsobjekt som Synapse Workspace MSI, Inloggad användare eller Programregistrering i Microsoft Entra-ID:t. Roller som Ägare, Deltagare, Läsare och Lagringskontodeltagare gör det möjligt för ett säkerhetsobjekt att hantera ett lagringskonto.

Listor för åtkomstkontroll

Använd åtkomstkontrollistor (ACL: er) för att tillämpa detaljerade åtkomstnivåer på kataloger och filer.

  • Om dataåtkomstroller som Storage Blob Data Reader eller Storage Blob Data Contributor hittas för säkerhetsobjektet, körs en kontroll för att kontrollera om rollen har behörighet att utföra åtgärder som Skriv, Läsa och Ta bort. I så fall kan säkerhetsobjektet komma åt alla filer och mappar baserat på containerrollen.
    • Det finns inga extra ACL-kontroller på filerna eller mapparna.
  • Om en dataåtkomstroll inte hittas för säkerhetsobjektet på lagringscontainernivå körs ACL-kontroller på filerna och mapparna.

Resurser