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 parallell bearbetning som stöder minnesintern bearbetning för att öka prestanda för analysprogram för stordata. Apache Spark i Azure Synapse Analytics är en av Microsofts implementeringar av Apache Spark i molnet. Azure Synapse gör det enkelt att 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 Storage. 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-lagringskonto
  • Ansluta till ADLS Gen 2-lagringskonto med användartilldelad hanterad identitet
  • Ansluta till ett ADLS Gen 2-lagringskonto som har:
    • Delad VNET Synapse-arbetsyta
    • Brandväggsaktiverat lagringskonto

Vanliga problem och lösningar

Fel Lösning
"errorMessage":"LSRServiceException is [{"StatusCode":400,"ErrorResponse":{"code":"LSRLinkedServiceFailure","message":"Could not find Linked Service 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 manuellt i samarbetsgrenen till Synapse-tjänsten.
stdout: Undantaget i tråden "main" org.apache.hadoop.fs.FileAlreadyExistsException: Åtgärden misslyckades: "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 blobar för lagringskontot.

Felsöka 403-problem

Åtkomst till lagring och åtkomst till kontot

  • Om du vill skriva till lagring via en pipeline är Synapse Workspace MSI det säkerhetsobjekt som kör alla åtgärder, till exempel Läsa, Skriva 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 ska 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 rollbaserad åtkomstkontrollimplementering (RBAC) i lagringen styrs information på containernivå. Mer information finns i Åtkomstkontrollmodell i Azure Data Lake Storage Gen2.

Rollbaserad åtkomstkontroll i Azure

Rollbaserad åtkomstkontroll i Azure använder rolltilldelningar för att tillämpa uppsättningar med behörigheter för säkerhetsobjekt som Synapse Workspace MSI, Inloggad användare eller Programregistrering i Microsoft Entra ID. Roller som ägare, deltagare, läsare och lagringskontodeltagare aktiverar ett säkerhetsobjekt för att hantera ett lagringskonto.

Åtkomstkontrollistor

Använd åtkomstkontrollistor (ACL: er) för att tillämpa detaljerade åtkomstnivåer för 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 skrivning, läsning och borttagning. 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