Förbearbeta data med en lagrad procedur innan de läses in i Lakehouse

I den här självstudien visar vi hur du använder en pipeline-skriptaktivitet för att köra en lagrad procedur för att skapa en tabell och förbearbeta data i en Synapse-Data Warehouse. Därefter läser vi in den förbearbetade tabellen i Lakehouse.

Viktigt

Microsoft Fabric är för närvarande i förhandsversion. Den här informationen gäller en förhandsversionsprodukt som kan ändras avsevärt innan den släpps. Microsoft lämnar inga garantier, uttryckta eller underförstådda, med avseende på den information som tillhandahålls här. Se Azure Data Factory dokumentation för tjänsten i Azure.

Förutsättningar

  • En Microsoft Fabric-aktiverad arbetsyta. Om du inte redan har en kan du läsa artikeln Skapa en arbetsyta.

  • Förbered en lagrad procedur i Azure Synapse Data Warehouse. Skapa följande lagrade procedur i förväg:

    CREATE PROCEDURE spM_add_names
    AS
    --Create initial table
    IF EXISTS (SELECT * FROM sys.objects
    WHERE object_id = OBJECT_ID(N'[dbo].[names]') AND TYPE IN (N'U'))
    BEGIN
    DROP TABLE names
    END;
    
    CREATE TABLE names
    (id INT,fullname VARCHAR(50));
    
    --Populate data
    INSERT INTO names VALUES (1,'John Smith');
    INSERT INTO names VALUES (2,'James Dean');
    
    --Alter table for new columns
    ALTER TABLE names
    ADD first_name VARCHAR(50) NULL;
    
    ALTER TABLE names
    ADD last_name VARCHAR(50) NULL;
    
    --Update table
    UPDATE names
    SET first_name = SUBSTRING(fullname, 1, CHARINDEX(' ', fullname)-1);
    
    UPDATE names
    SET last_name = SUBSTRING(fullname, CHARINDEX(' ', fullname)+1, LEN(fullname)-CHARINDEX(' ', fullname));
    
    --View Result
    SELECT * FROM names;
    

    Skärmbild som visar resultatet av att köra den lagrade proceduren för att generera en exempeltabell.

Skapa en pipelineskriptaktivitet för att köra den lagrade proceduren

I det här avsnittet använder vi en skriptaktivitet för att köra den lagrade proceduren som skapades i förutsättningarna.

  1. Välj Skriptaktivitet och välj sedan Ny för att ansluta till din Azure Synapse Data Warehouse.

    Skärmbild som visar pipelinegränssnittet för att skapa en ny skriptaktivitet och ansluta till din Azure Synapse Data Warehouse.

  2. Välj Azure Synapse Analytics och sedan Fortsätt.

    Skärmbild som visar dialogrutan Ny anslutning med Azure Synapse Analytics valt.

  3. Ange fälten Server, Databas och Användarnamn och Lösenord för Grundläggande autentisering och ange SynapseConnection som Anslutningsnamn. Välj sedan Skapa för att skapa den nya anslutningen.

    Skärmbild som visar dialogrutan Skapa ny anslutning.

  4. Exec-indata spM_add_names för att köra den lagrade proceduren. Den skapar en ny tabell dbo.name och förbearbetar data med en enkel transformering för att ändra fältet fullname till två fält, first_name och last_name.

    Skärmbild som visar inställningsfliken för den skriptaktivitet som konfigurerats för att köra den spM_add_names lagrade proceduren.

Använda en pipelineaktivitet för att läsa in förbearbetade tabelldata till Lakehouse

  1. Välj Kopiera data och välj sedan Använd kopieringsassistenten.

    Skärmbild som visar knappen Använd kopieringsassistenten under Kopiera data.

  2. Välj Azure Synapse Analytics som datakälla och välj sedan Nästa.

    Skärmbild som visar urvalssidan kopiera assistentens datakälla med Azure Synapse Analytics valt.

  3. Välj den befintliga anslutningen SynapseConnection som du skapade tidigare.

    Skärmbild som visar valet av den tidigare skapade SynapseConnection på sidan Välj datakälla i kopieringsassistenten.

  4. Välj tabellen dbo.names som skapades och förbearbetades av den lagrade proceduren. Välj sedan Nästa.

    Skärmbild som visar valet av tabellen dbo.names som skapats och förbearbetats av den lagrade proceduren i föregående steg.

  5. Välj Lakehouse under fliken Arbetsyta som mål och välj sedan Nästa igen.

    Skärmbild som visar valet av Lakehouse för kopieringsmålet i kopieringsassistenten.

  6. Välj en befintlig eller skapa ett nytt Lakehouse och välj sedan Nästa.

    Skärmbild som visar valet av ett Lakehouse-mål i kopieringsassistenten.

  7. Ange ett måltabellnamn för de data som ska kopieras till för Lakehouse-målet och välj Nästa.

    Skärmbild som visar måltabellnamnet som ska användas i Lakehouse-målet.

  8. Granska sammanfattningen på den sista sidan i kopieringsassistenten och välj sedan OK.

    Skärmbild som visar sammanfattningssidan för kopieringsassistenten med information om de konfigurerade anslutningarna.

  9. När du har valt OK läggs den nya aktiviteten Kopiera till på pipelinearbetsytan.

    Skärmbild som visar pipeline-arbetsytan med aktiviteten Kopiera tillagd.

Kör de två pipelineaktiviteterna för att läsa in data

  1. Anslut aktiviteterna Skript och Kopiera data efter Vid lyckat resultat från skriptaktiviteten.

    Skärmbild som visar anslutningen av de två aktiviteterna när skriptaktiviteten lyckades.

  2. Välj Kör och sedan Spara och kör för att köra de två aktiviteterna i pipelinen.

    Skärmbild som visar knappen Kör pipeline.

    Skärmbild som visar knappen Spara och kör för pipelinen.

  3. När pipelinen har körts kan du visa informationen för mer information.

    Skärmbild som visar knappen Visa information om pipelinekörning.

    Skärmbild som visar körningsinformationen för pipelinen.

  4. Växla till arbetsytan och välj Lakehouse för att kontrollera resultatet.

    Skärmbild som visar arbetsytan med Lakehouse-målet markerat.

  5. Välj tabellen SynapseNamesTable för att visa dat som lästs in i Lakehouse.

    Skärmbild som visar resultatet i SynapseNamesTable i Lakehouse.

Nästa steg

Det här exemplet visar hur du förbearbetar data med en lagrad procedur innan du läser in resultatet i Lakehouse. Du har lärt dig att:

  • Skapa en datapipeline med en skriptaktivitet för att köra en lagrad procedur.
  • Använd en pipelineaktivitet för att läsa in förbearbetade tabelldata till Lakehouse.
  • Kör pipelineaktiviteterna för att läsa in data.

Gå sedan vidare och lär dig mer om att övervaka dina pipelinekörningar.