Dela via


Använda dataflöden i pipelines

När du skapar komplexa pipelines med flera dataflöden kan ditt logiska flöde ha stor inverkan på tid och kostnad. Det här avsnittet beskriver effekten av olika arkitekturstrategier.

Köra dataflöden parallellt

Om du kör flera dataflöden parallellt startar tjänsten separata Spark-kluster för varje aktivitet. Detta gör att varje jobb kan isoleras och köras parallellt, men leder till att flera kluster körs samtidigt.

Om dina dataflöden körs parallellt rekommenderar vi att du inte aktiverar Azure IR-tid till liveegenskapen eftersom den leder till flera oanvända varma pooler.

Dricks

I stället för att köra samma dataflöde flera gånger i en för varje aktivitet, mellanlagrar du dina data i en datasjö och använder sökvägar med jokertecken för att bearbeta data i ett enda dataflöde.

Köra dataflöden sekventiellt

Om du kör dina dataflödesaktiviteter i följd rekommenderar vi att du anger en TTL i Azure IR-konfigurationen. Tjänsten återanvänder beräkningsresurserna, vilket resulterar i en snabbare starttid för klustret. Varje aktivitet är fortfarande isolerad och får en ny Spark-kontext för varje körning.

Överbelasta ett enda dataflöde

Om du placerar all logik i ett enda dataflöde kör tjänsten hela jobbet på en enda Spark-instans. Även om detta kan verka som ett sätt att minska kostnaderna, blandas olika logiska flöden och kan vara svåra att övervaka och felsöka. Om en komponent misslyckas misslyckas även alla andra delar av jobbet. Organisera dataflöden efter oberoende flöden av affärslogik rekommenderas. Om dataflödet blir för stort blir det enklare att dela upp det i separata komponenter. Det finns ingen hård gräns för antalet transformeringar i ett dataflöde, men för många gör jobbet komplext.

Köra mottagare parallellt

Standardbeteendet för dataflödesmottagare är att köra varje mottagare sekventiellt, på ett seriellt sätt, och att misslyckas med dataflödet när ett fel påträffas i mottagaren. Dessutom är alla mottagare som standard samma grupp om du inte går in i dataflödesegenskaperna och anger olika prioriteter för mottagare.

Med dataflöden kan du gruppera mottagare i grupper från fliken dataflödesegenskaper i användargränssnittsdesignern. Du kan både ange körningsordningen för dina mottagare och gruppera mottagare tillsammans med samma gruppnummer. För att hantera grupper kan du be tjänsten att köra mottagare i samma grupp, att köras parallellt.

I pipelinen kör du dataflödesaktivitet under avsnittet "Egenskaper för mottagare" är ett alternativ för att aktivera parallell inläsning av mottagare. När du aktiverar "kör parallellt" instruerar du dataflöden att skriva till anslutna mottagare samtidigt i stället för på ett sekventiellt sätt. För att kunna använda det parallella alternativet måste mottagare grupperas och anslutas till samma ström via en ny gren eller villkorsstyrd delning.

Få åtkomst till Azure Synapse-databasmallar i pipelines

Du kan använda en Azure Synapse-databasmall när du krypterar en pipeline. När du skapar ett nytt dataflöde går du till käll- eller mottagarinställningarna och väljer Arbetsyta DB. I listrutan för databasen visas de databaser som skapats via databasmallen. Alternativet Arbetsyta DB är endast tillgängligt för nya dataflöden. Det är inte tillgängligt när du använder en befintlig pipeline från Synapse Studio-galleriet.

Se andra Dataflöde artiklar om prestanda: