Gegevensstromen bewaken

VAN TOEPASSING OP: Azure Data Factory Azure Synapse Analytics

Nadat u klaar bent met het bouwen en debuggen van uw gegevensstroom, wilt u plannen dat uw gegevensstroom volgens een schema wordt uitgevoerd binnen de context van een pijplijn. U kunt de pijplijn plannen met triggers. Voor het testen en opsporen van fouten in uw gegevensstroom vanuit een pijplijn, kunt u de knop Fouten opsporen op het werkbalklint of de optie Nu activeren van de Pipeline Builder gebruiken om een uitvoering met één uitvoering uit te voeren om uw gegevensstroom binnen de pijplijncontext te testen.

Wanneer u de pijplijn uitvoert, kunt u de pijplijn en alle activiteiten in de pijplijn bewaken, inclusief de Data Flow activiteit. Klik op het monitorpictogram in het deelvenster gebruikersinterface aan de linkerkant. U ziet een scherm dat vergelijkbaar is met het scherm hieronder. Met de gemarkeerde pictogrammen kunt u inzoomen op de activiteiten in de pijplijn, waaronder de gegevens Flow activiteit.

Schermopname van pictogrammen die moeten worden geselecteerd voor pijplijnen voor meer informatie.

U ziet statistieken op dit niveau, inclusief de run times en status. De run-id op activiteitsniveau is anders dan de run-id op pijplijnniveau. De run-id op het vorige niveau is voor de pijplijn. Als u de bril selecteert, krijgt u meer informatie over de uitvoering van uw gegevensstroom.

Schermopname van het pictogram van een bril om details te zien van de uitvoering van de gegevensstroom.

In de grafische weergave voor knooppuntbewaking ziet u een vereenvoudigde alleen-bekijken versie van uw gegevensstroomgrafiek. Als u de detailweergave wilt zien met grotere grafiekknooppunten die labels voor transformatiefasen bevatten, gebruikt u de schuifregelaar voor zoomen aan de rechterkant van het canvas. U kunt ook de zoekknop aan de rechterkant gebruiken om onderdelen van uw gegevensstroomlogica in de grafiek te zoeken.

Schermopname van de alleen-bekijken versie van de grafiek.

Data Flow uitvoeringsplannen weergeven

Wanneer uw Data Flow wordt uitgevoerd in Spark, bepaalt de service optimale codepaden op basis van het geheel van uw gegevensstroom. Daarnaast kunnen de uitvoeringspaden plaatsvinden op verschillende scale-out knooppunten en gegevenspartities. Daarom vertegenwoordigt de bewakingsgrafiek het ontwerp van uw stroom, waarbij rekening wordt gehouden met het uitvoeringspad van uw transformaties. Wanneer u afzonderlijke knooppunten selecteert, ziet u 'fasen' die code vertegenwoordigen die samen op het cluster is uitgevoerd. De timings en tellingen die u ziet, vertegenwoordigen deze groepen of fasen, in tegenstelling tot de afzonderlijke stappen in uw ontwerp.

Schermopname van de pagina voor een gegevensstroom.

  • Wanneer u de open ruimte in het bewakingsvenster selecteert, geven de statistieken in het onderste deelvenster de timing en het aantal rijen weer voor elke sink en de transformaties die hebben geleid tot de sinkgegevens voor de transformatielijn.

  • Wanneer u afzonderlijke transformaties selecteert, ontvangt u aanvullende feedback in het rechterdeelvenster met partitiestatistieken, kolomtellingen, scheefheid (hoe gelijkmatig zijn de gegevens verdeeld over partities) en u ziet hoe piekend de gegevens zijn.

  • Door te sorteren op verwerkingstijd kunt u bepalen welke fasen in uw gegevensstroom de meeste tijd hebben gehad.

  • Als u wilt weten welke transformaties in elke fase de meeste tijd duurden, sorteert u op de hoogste verwerkingstijd.

  • De geschreven rijen kunnen ook worden gesorteerd als een manier om te bepalen welke stromen in uw gegevensstroom de meeste gegevens schrijven.

  • Wanneer u sink selecteert in de knooppuntweergave, ziet u de kolomlijn. Er zijn drie verschillende methoden voor het verzamelen van kolommen in uw gegevensstroom om in de sink te beland. Dit zijn:

    • Berekend: u gebruikt de kolom voor voorwaardelijke verwerking of binnen een expressie in uw gegevensstroom, maar niet in de sink
    • Afgeleid: De kolom is een nieuwe kolom die u hebt gegenereerd in uw stroom, dat wil zeggen dat deze niet aanwezig was in de bron
    • Toegewezen: de kolom die afkomstig is van de bron en uw deze toewijst aan een sinkveld
    • Status van de gegevensstroom: de huidige status van uw uitvoering
    • Opstarttijd van cluster: De hoeveelheid tijd die nodig is om de JIT Spark-rekenomgeving te verkrijgen voor het uitvoeren van uw gegevensstroom
    • Aantal transformaties: hoeveel transformatiestappen er worden uitgevoerd in uw stroom

Schermopname van de optie Vernieuwen.

Totale verwerkingstijd voor sinks versus de verwerkingstijd voor transformaties

Elke transformatiefase bevat een totale tijd die nodig is om die fase te voltooien, met elke uitvoeringstijd van elke partitie bij elkaar opgedeeld. Wanneer u op de sink klikt, ziet u 'Verwerkingstijd van sink'. Deze tijd omvat de totale transformatietijd plus de I/O-tijd die nodig was om uw gegevens naar uw doelopslag te schrijven. Het verschil tussen de verwerkingstijd van de sink en het totaal van de transformatie is de I/O-tijd om de gegevens te schrijven.

U kunt ook gedetailleerde timing voor elke stap voor partitietransformatie bekijken als u de JSON-uitvoer van uw gegevensstroomactiviteit opent in de bewakingsweergave van de pijplijn. De JSON bevat timing in milliseconden voor elke partitie, terwijl de UX-bewakingsweergave een cumulatief timing is van partities die bij elkaar zijn opgeteld:

 {
     "stage": 4,
     "partitionTimes": [
          14353,
          14914,
          14246,
          14912,
          ...
         ]
}

Verwerkingstijd sink

Wanneer u een pictogram voor sinktransformatie op de kaart selecteert, wordt in het schuifpaneel aan de rechterkant onderaan een extra gegevenspunt met de naam 'post processing time' weergegeven. Dit is de tijd die nodig is om uw taak uit te voeren in het Spark-cluster nadat uw gegevens zijn geladen, getransformeerd en geschreven. Deze tijd kan bestaan uit het sluiten van verbindingsgroepen, het afsluiten van stuurprogramma's, het verwijderen van bestanden, het samensluiten van bestanden, enzovoort. Wanneer u acties in uw stroom zoals 'bestanden verplaatsen' en 'uitvoer naar één bestand' uitvoeren, ziet u waarschijnlijk een toename in de waarde na de verwerkingstijd.

  • Duur van schrijffase: De tijd voor het schrijven van de gegevens naar een faseringslocatie voor Synapse-SQL
  • Tabelbewerking SQL duur: de tijd die is besteed aan het verplaatsen van gegevens van tijdelijke tabellen naar de doeltabel
  • Duur SQL vooraf & Post SQL: De tijd die is besteed aan het uitvoeren van pre-/post SQL opdrachten
  • Duur van pre-opdrachten & na de opdrachtduur: de tijd die is besteed aan het uitvoeren van pre-/post-bewerkingen voor bron/sinks op basis van bestanden. Bijvoorbeeld bestanden verplaatsen of verwijderen na verwerking.
  • Samenvoegduur: de tijd die wordt besteed aan het samenvoegen van het bestand, samenvoegbestanden worden gebruikt voor sinks op basis van bestanden bij het schrijven naar één bestand of wanneer 'Bestandsnaam als kolomgegevens' wordt gebruikt. Als er aanzienlijke tijd wordt besteed aan deze metrische gegevens, moet u het gebruik van deze opties vermijden.
  • Fasetijd: de totale tijd die in Spark is besteed om de bewerking als een fase te voltooien.
  • Tijdelijke faseringsstabel: naam van de tijdelijke tabel die wordt gebruikt door gegevensstromen om gegevens in de database te faseren.

Foutrijen

Het inschakelen van de verwerking van foutrijen in de sink van uw gegevensstroom wordt weergegeven in de bewakingsuitvoer. Wanneer u de sink in stelt op 'Rapporteren bij fout', wordt in de bewakingsuitvoer het aantal succesvolle en mislukte rijen weergegeven wanneer u op het knooppunt sinkbewaking klikt.

Schermopname van foutrijen.

Wanneer u Rapportfout bij fout selecteert, wordt dezelfde uitvoer alleen weergegeven in de uitvoertekst van de activiteitsbewaking. Dit komt doordat de gegevensstroomactiviteit een fout retourneerde voor uitvoering en de gedetailleerde bewakingsweergave niet beschikbaar is.

Schermopname van foutrijen in activiteit.

Monitorpictogrammen

Dit pictogram betekent dat de transformatiegegevens al in de cache van het cluster zijn opgeslagen, dus met de timings en het uitvoeringspad is hiermee rekening gehouden:

Schermopname van het schijfpictogram.

U ziet ook groene cirkelpictogrammen in de transformatie. Ze vertegenwoordigen een telling van het aantal sinks waar gegevens in stromen.