Snabbstart: Transformera data med hjälp av mappning av dataflöden

I den här snabbstarten använder du Azure Synapse Analytics för att skapa en pipeline som transformerar data från en Azure Data Lake Storage Gen2 -källa (ADLS Gen2) till en ADLS Gen2-mottagare med hjälp av mappningsdataflödet. Konfigurationsmönstret i den här snabbstarten kan utökas vid transformering av data med hjälp av mappning av dataflöde

I den här snabbstarten gör du följande:

  • Skapa en pipeline med en Dataflöde aktivitet i Azure Synapse Analytics.
  • Skapa ett mappningsdataflöde med fyra transformeringar.
  • Testkör pipelinen.
  • Övervaka en Dataflöde aktivitet

Förutsättningar

  • Azure-prenumeration: Om du inte har någon Azure-prenumeration kan du skapa ett kostnadsfritt konto innan du börjar.

  • Azure Synapse arbetsyta: Skapa en Synapse-arbetsyta med hjälp av Azure Portal enligt anvisningarna i Snabbstart: Skapa en Synapse-arbetsyta.

  • Azure Storage-konto: Du använder ADLS-lagring som käll- och mottagardatalager . Om du inte har ett lagringskonto finns det anvisningar om hur du skapar ett i Skapa ett Azure Storage-konto.

    Filen som vi transformerar i den här självstudien är MoviesDB.csv, som du hittar här. Om du vill hämta filen från GitHub kopierar du innehållet till valfri textredigerare för att spara lokalt som en .csv fil. Information om hur du laddar upp filen till ditt lagringskonto finns i Upload blobbar med Azure Portal. Exemplen refererar till en container med namnet "sample-data".

När din Azure Synapse arbetsyta har skapats kan du öppna Synapse Studio på två sätt:

I den här snabbstarten använder vi arbetsytan "adftest2020" som exempel. Den navigerar automatiskt till Synapse Studio startsida.

Synapse Studio home page

Skapa en pipeline med en Dataflöde aktivitet

En pipeline innehåller det logiska flödet för en körning av en uppsättning aktiviteter. I det här avsnittet skapar du en pipeline som innehåller en Dataflöde aktivitet.

  1. Gå till fliken Integrera . Välj på plusikonen bredvid pipelinehuvudet och välj Pipeline.

    Create a new pipeline

  2. På sidan Egenskaperinställningar i pipelinen anger du TransformMovies som Namn.

  3. Under Flytta och transformera i fönstret Aktiviteter drar du Dataflöde till pipelinearbetsytan.

  4. På sidan Lägg till dataflöde väljer du Skapa nytt dataflöde –>Dataflöde. Klicka på OK när du är klar.

    Create a data flow

  5. Ge dataflödet namnet TransformMovies på sidan Egenskaper .

Skapa transformeringslogik i dataflödesarbetsytan

När du har skapat din Dataflöde skickas du automatiskt till dataflödesarbetsytan. I det här steget skapar du ett dataflöde som tar MoviesDB.csv i ADLS-lagring och sammanställer den genomsnittliga klassificeringen av komedier från 1910 till 2000. Sedan skriver du tillbaka den här filen till ADLS-lagringen.

  1. Ovanför dataflödesarbetsytan skjuter du på skjutreglaget för felsökning av dataflöde . Felsökningsläget möjliggör interaktiv testning av transformeringslogik mot ett live Spark-kluster. Dataflöde kluster tar 5–7 minuter att värma upp och användarna rekommenderas att aktivera felsökning först om de planerar att utföra Dataflöde utveckling. Mer information finns i Felsökningsläge.

    Slide the debug on

  2. Lägg till en källa i dataflödesarbetsytan genom att klicka på rutan Lägg till källa .

  3. Ge källan namnet MoviesDB. Klicka på Ny för att skapa en ny källdatauppsättning.

    Create a new source dataset

  4. Välj Azure Data Lake Storage Gen2. Klicka på Fortsätt.

    Choose Azure Data Lake Storage Gen2

  5. Välj Avgränsadtext. Klicka på Fortsätt.

  6. Ge datauppsättningen namnet MoviesDB. I listrutan länkad tjänst väljer du Ny.

  7. På skärmen för att skapa länkad tjänst namnger du den länkade ADLS Gen2-tjänsten ADLSGen2 och anger din autentiseringsmetod. Ange sedan dina autentiseringsuppgifter för anslutningen. I den här snabbstarten använder vi kontonyckeln för att ansluta till vårt lagringskonto. Du kan klicka på Testa anslutning för att kontrollera att dina autentiseringsuppgifter har angetts korrekt. Klicka på Skapa när du är klar.

    Create a source linked service

  8. När du är tillbaka på skärmen för att skapa datauppsättningen går du till fältet Filsökväg och anger var filen finns. I den här snabbstarten finns filen "MoviesDB.csv" i containern "sample-data". Eftersom filen har rubriker markerar du Den första raden som rubrik. Välj Från anslutning/arkiv för att importera rubrikschemat direkt från filen i lagringen. Klicka på OK när du är klar.

    Source dataset settings

  9. Om felsökningsklustret har startat går du till fliken Dataförhandsgranskning i källomvandlingen och klickar på Uppdatera för att få en ögonblicksbild av data. Du kan använda förhandsversionen av data för att kontrollera att omvandlingen är korrekt konfigurerad.

    Data preview

  10. Bredvid källnoden på dataflödesarbetsytan klickar du på plusikonen för att lägga till en ny transformering. Den första omvandlingen som du lägger till är ett filter.

    Add a filter

  11. Ge filtertransformeringen namnet FilterYears. Klicka på uttrycksrutan bredvid Filtrera på för att öppna uttrycksverktyget. Här anger du filtreringsvillkoret.

  12. Med uttrycksverktyget för dataflöde kan du interaktivt skapa uttryck som ska användas i olika transformeringar. Uttryck kan innehålla inbyggda funktioner, kolumner från indataschemat och användardefinierade parametrar. Mer information om hur du skapar uttryck finns i Dataflöde uttrycksverktyget.

    I den här snabbstarten vill du filtrera filmer av genrekomik som kom ut mellan åren 1910 och 2000. Eftersom år för närvarande är en sträng måste du konvertera den till ett heltal med hjälp av toInteger() funktionen. Använd operatorerna större än eller lika med (>=) och mindre än eller lika med (<=) för att jämföra med literalårsvärdena 1910 och 200-. Koppla dessa uttryck tillsammans med operatorn && (och). Uttrycket visas som:

    toInteger(year) >= 1910 && toInteger(year) <= 2000

    För att hitta vilka filmer som är komedier kan du använda rlike() funktionen för att hitta mönstret "Comedy" i kolumngenren. Union uttrycket rlike med årsjämförelsen för att få:

    toInteger(year) >= 1910 && toInteger(year) <= 2000 && rlike(genres, 'Comedy')

    Specify filtering condition

    Om du har ett aktivt felsökningskluster kan du verifiera logiken genom att klicka på Uppdatera för att se uttrycksutdata jämfört med de indata som används. Det finns mer än ett rätt svar på hur du kan åstadkomma den här logiken med hjälp av språket för dataflödesuttryck.

    Klicka på Spara och slutför när du är klar med uttrycket.

  13. Hämta en dataförhandsgranskning för att kontrollera att filtret fungerar korrekt.

  14. Nästa transformering som du lägger till är en aggregeringstransformering under Schemamodifierare.

    Add an Aggregate

  15. Ge din aggregerade omvandling namnet AggregateComedyRatings. På fliken Gruppera efter väljer du år i listrutan för att gruppera aggregeringarna efter året då filmen kom ut.

    Aggregate settings 1

  16. Gå till fliken Aggregat . I den vänstra textrutan namnger du den sammanställda kolumnen AverageComedyRating. Klicka på den högra uttrycksrutan för att ange samlingsuttrycket via uttrycksverktyget.

    Aggregate settings 2

  17. Använd aggregeringsfunktionen för avg() att hämta medelvärdet av kolumnklassificering. Eftersom Rating är en sträng och avg() tar in numeriska indata måste vi konvertera värdet till ett tal via toInteger() funktionen. Det här uttrycket ser ut så här:

    avg(toInteger(Rating))

    Klicka på Spara och slutför när du är klar.

    Average comedy rating

  18. Gå till fliken Dataförhandsgranskning om du vill visa transformeringsutdata. Observera att endast två kolumner finns där, year och AverageComedyRating.

    Aggregate Data Preview

  19. Sedan vill du lägga till en mottagaretransformering under Mål.

    Add a Sink

  20. Ge mottagaren namnet Sink. Klicka på Ny för att skapa datauppsättningen för mottagare.

  21. Välj Azure Data Lake Storage Gen2. Klicka på Fortsätt.

  22. Välj Avgränsadtext. Klicka på Fortsätt.

  23. Ge mottagaren namnet moviesset MoviesSink. För länkad tjänst väljer du den länkade ADLS Gen2-tjänst som du skapade i steg 7. Ange en utdatamapp att skriva dina data till. I den här snabbstarten skriver vi till mappen "output" i containern "sample-data". Mappen behöver inte finnas i förväg och kan skapas dynamiskt. Ange Första raden som rubrik som true och välj Ingen för Importschema. Klicka på OK när du är klar.

    Sink dataset properties

Nu har du skapat dataflödet. Du är redo att köra den i pipelinen.

Köra och övervaka Dataflöde

Du kan felsöka en pipeline innan du publicerar den. I det här steget ska du utlösa en felsökningskörning av dataflödespipelinen. Även om dataförhandsgranskningen inte skriver data, kommer en felsökningskörning att skriva data till målmottagaren.

  1. Gå till pipelinearbetsytan. Klicka på Felsök för att utlösa en felsökningskörning.

    Debug pipeline

  2. Pipeline-felsökning av Dataflöde aktiviteter använder det aktiva felsökningsklustret, men det tar ändå minst en minut att initiera. Du kan spåra förloppet via fliken Utdata . När körningen är klar klickar du på glasögonikonen för att öppna övervakningsfönstret.

    Debugging output

  3. I övervakningsfönstret kan du se antalet rader och den tid som spenderas i varje transformeringssteg.

    Transformation monitoring

  4. Klicka på en transformering för att få detaljerad information om kolumner och partitionering av data.

    Transformation details

Om du har följt den här snabbstarten korrekt bör du ha skrivit 83 rader och 2 kolumner i mottagarmappen. Du kan verifiera data genom att kontrollera bloblagringen.

Nästa steg

Gå vidare till följande artiklar om du vill veta mer om stöd för Azure Synapse Analytics: