Dela via


Kom igång med ändringsdatainsamling i analysarkivet för Azure Cosmos DB

GÄLLER FÖR: NoSQL MongoDB

Använd CDC (Change Data Capture) i Azure Cosmos DB-analysarkivet som källa till Azure Data Factory eller Azure Synapse Analytics för att samla in specifika ändringar i dina data.

Kommentar

Observera att det länkade tjänstgränssnittet för Azure Cosmos DB för MongoDB-API:et ännu inte är tillgängligt i Dataflöde. Du skulle dock kunna använda ditt kontos dokumentslutpunkt med det länkade tjänstgränssnittet "Azure Cosmos DB for NoSQL" som ett arbete tills den länkade Mongo-tjänsten stöds. I en länkad NoSQL-tjänst väljer du "Ange manuellt" för att ange Cosmos DB-kontoinformationen och använda kontots dokumentslutpunkt (t.ex. ) https://[your-database-account-uri].documents.azure.com:443/i stället för MongoDB-slutpunkten (t.ex. mongodb://[your-database-account-uri].mongo.cosmos.azure.com:10255/)

Förutsättningar

Aktivera analysarkiv

Först aktiverar du Azure Synapse Link på kontonivå och aktiverar sedan analysarkivet för de containrar som är lämpliga för din arbetsbelastning.

  1. Aktivera Azure Synapse Link: Aktivera Azure Synapse Link för ett Azure Cosmos DB-konto

  2. Aktivera analysarkiv för dina containrar:

    Alternativ Guide
    Aktivera för en specifik ny container Aktivera Azure Synapse Link för dina nya containrar
    Aktivera för en specifik befintlig container Aktivera Azure Synapse Link för dina befintliga containrar

Skapa en Azure-målresurs med hjälp av dataflöden

Funktionen för att samla in ändringsdata i analysarkivet är tillgänglig via dataflödesfunktionen i Azure Data Factory eller Azure Synapse Analytics. I den här guiden använder du Azure Data Factory.

Viktigt!

Du kan också använda Azure Synapse Analytics. Skapa först en Azure Synapse-arbetsyta om du inte redan har en. I den nyligen skapade arbetsytan väljer du fliken Utveckla , väljer Lägg till ny resurs och väljer sedan Dataflöde.

  1. Skapa en Azure Data Factory om du inte redan har en.

    Dricks

    Om möjligt skapar du datafabriken i samma region där ditt Azure Cosmos DB-konto finns.

  2. Starta den nyligen skapade datafabriken.

  3. I datafabriken väljer du fliken Dataflöden och väljer sedan Nytt dataflöde.

  4. Ge det nyligen skapade dataflödet ett unikt namn. I det här exemplet heter cosmoscdcdataflödet .

    Screnshot av ett nytt dataflöde med namnet cosmoscdc.

Konfigurera källinställningar för containern för analysarkivet

Skapa och konfigurera nu en källa för att flöda data från Azure Cosmos DB-kontots analysarkiv.

  1. Välj Lägg till källa.

    Skärmbild av alternativet lägg till källmeny.

  2. I fältet Namn på utdataström anger du cosmos.

    Skärmbild av namngivning av den nyligen skapade käll-cosmosen.

  3. I avsnittet Källtyp väljer du Infogat.

    Skärmbild av att välja den infogade källtypen.

  4. I fältet Datauppsättning väljer du Azure – Azure Cosmos DB för NoSQL.

    Skärmbild av att välja Azure Cosmos DB för NoSQL som datamängdstyp.

  5. Skapa en ny länkad tjänst för ditt konto med namnet cosmoslinkedservice. Välj ditt befintliga Azure Cosmos DB för NoSQL-konto i popup-dialogrutan Ny länkad tjänst och välj sedan Ok. I det här exemplet väljer vi ett befintligt Azure Cosmos DB för NoSQL-konto med namnet msdocs-cosmos-source och en databas med namnet cosmicworks.

    Skärmbild av dialogrutan Ny länkad tjänst med ett Azure Cosmos DB-konto valt.

  6. Välj Analys för butikstypen.

    Skärmbild av det analysalternativ som valts för en länkad tjänst.

  7. Välj fliken Källalternativ .

  8. Välj målcontainern i källalternativen och aktivera Felsökning av dataflöde. I det här exemplet heter productscontainern .

    Skärmbild av en källcontainer som valts med namnet products.

  9. Välj Felsökning av dataflöde. I dialogrutan Aktivera felsökning av dataflöde behåller du standardalternativen och väljer sedan Ok.

    Skärmbild av växlingsalternativet för att aktivera felsökning av dataflöde.

  10. Fliken Källalternativ innehåller även andra alternativ som du kanske vill aktivera. I den här tabellen beskrivs följande alternativ:

Alternativ Description
Samla in mellanliggande uppdateringar Aktivera det här alternativet om du vill avbilda historiken för ändringar i objekt, inklusive mellanliggande ändringar mellan läsningar av ändringsdatainsamling.
Ta bort avbildningar Aktivera det här alternativet för att samla in användarborttagningsposter och tillämpa dem på mottagaren. Det går inte att använda borttagningar i Azure Data Explorer och Azure Cosmos DB-mottagare.
Avbilda TTL:er för transaktionslager Aktivera det här alternativet för att samla in TTL-borttagna poster i Azure Cosmos DB-transaktionsarkivet (time-to-live) och tillämpa på mottagare. TTL-borttagningar kan inte tillämpas på Azure Data Explorer- och Azure Cosmos DB-mottagare.
Batchstorlek i byte Den här inställningen är i själva verket gigabyte. Ange storleken i gigabyte om du vill batcha flödena för ändringsdatainsamling
Extra konfigurationer Extra azure Cosmos DB-analysarkivkonfigurationer och deras värden. (ex: spark.cosmos.allowWhiteSpaceInFieldNames -> true)

Arbeta med källalternativ

När du kontrollerar något av Capture intermediate updatesalternativen , Capture Deltesoch Capture Transactional store TTLs skapas och fylls __usr_opType fältet i mottagare med följande värden:

Värde beskrivning Alternativ
1 UPDATE Samla in mellanliggande uppdateringar
2 INSERT Det finns inget alternativ för infogningar, det är aktiverat som standard
3 USER_DELETE Ta bort avbildningar
4 TTL_DELETE Avbilda TTL:er för transaktionslager

Om du måste skilja de TTL-borttagna posterna från dokument som tagits bort av användare eller program har du kontrollera både Capture intermediate updates och Capture Transactional store TTLs alternativ. Sedan måste du anpassa dina CDC-processer eller program eller frågor så att de används __usr_opType enligt vad som krävs för dina affärsbehov.

Dricks

Om det finns ett behov för nedströmskonsumenterna att återställa ordningen på uppdateringar med alternativet "samla in mellanliggande uppdateringar" markerat, kan systemets tidsstämpelfält _ts användas som ordningsfält.

Skapa och konfigurera inställningar för mottagare för uppdaterings- och borttagningsåtgärder

Först skapar du en enkel Azure Blob Storage-mottagare och konfigurerar sedan mottagaren för att filtrera data till endast specifika åtgärder.

  1. Skapa ett Azure Blob Storage-konto och en container om du inte redan har ett. I nästa exempel använder vi ett konto med namnet msdocsblobstorage och en container med namnet output.

    Dricks

    Om möjligt skapar du lagringskontot i samma region där ditt Azure Cosmos DB-konto finns.

  2. Tillbaka i Azure Data Factory skapar du en ny mottagare för ändringsdata som samlas in från din cosmos källa.

    Skärmbild av att lägga till en ny mottagare som är ansluten till den befintliga källan.

  3. Ge mottagaren ett unikt namn. I det här exemplet heter storagemottagaren .

    Skärmbild av namngivning av den nyligen skapade mottagarlagringen.

  4. I avsnittet Mottagartyp väljer du Infogat. I fältet Datauppsättning väljer du Delta.

    Skärmbild av att välja och datauppsättningstypen Infogat delta för mottagaren.

  5. Skapa en ny länkad tjänst för ditt konto med Azure Blob Storage med namnet storagelinkedservice. Välj ditt befintliga Azure Blob Storage-konto i popup-dialogrutan Ny länkad tjänst och välj sedan Ok. I det här exemplet väljer vi ett befintligt Azure Blob Storage-konto med namnet msdocsblobstorage.

    Skärmbild av alternativen för tjänsttyp för en ny Delta-länkad tjänst.

    Skärmbild av dialogrutan Ny länkad tjänst med ett Azure Blob Storage-konto valt.

  6. Välj fliken Inställningar.

  7. I Inställningar anger du mappsökvägen till namnet på blobcontainern. I det här exemplet är outputcontainerns namn .

    Skärmbild av blobcontainern med namnet output set som mål för mottagare.

  8. Leta upp avsnittet Uppdatera metod och ändra markeringen så att endast borttagnings- och uppdateringsåtgärder tillåts. Ange även nyckelkolumnerna som en lista över kolumner som använder fältet {_rid} som unik identifierare.

    Skärmbild av uppdateringsmetoder och nyckelkolumner som anges för mottagaren.

  9. Välj Verifiera för att säkerställa att du inte har gjort några fel eller utelämnanden. Välj sedan Publicera för att publicera dataflödet.

    Skärmbild av alternativet för att verifiera och sedan publicera det aktuella dataflödet.

Schemalägg körning av ändringsdatainsamling

När ett dataflöde har publicerats kan du lägga till en ny pipeline för att flytta och transformera dina data.

  1. Skapa en ny pipeline. Ge pipelinen ett unikt namn. I det här exemplet heter cosmoscdcpipelinepipelinen .

    Skärmbild av det nya pipelinealternativet i avsnittet resurser.

  2. I avsnittet Aktiviteter expanderar du alternativet Flytta och transformera och väljer sedan Dataflöde.

    Skärmbild av alternativet för dataflödesaktivitet i avsnittet aktiviteter.

  3. Ge dataflödesaktiviteten ett unikt namn. I det här exemplet heter cosmoscdcactivityaktiviteten .

  4. På fliken Inställningar väljer du det dataflöde som du cosmoscdc skapade tidigare i den här guiden. Välj sedan en beräkningsstorlek baserat på datavolymen och den svarstid som krävs för din arbetsbelastning.

    Skärmbild av konfigurationsinställningarna för både dataflödet och beräkningsstorleken för aktiviteten.

    Dricks

    För inkrementella datastorlekar som är större än 100 GB rekommenderar vi anpassad storlek med ett kärnantal på 32 (+16 drivrutinskärnor).

  5. Välj Lägg till utlösare. Schemalägg den här pipelinen så att den körs i en takt som passar din arbetsbelastning. I det här exemplet är pipelinen konfigurerad att köras var femte minut.

    Skärmbild av knappen Lägg till utlösare för en ny pipeline.

    Skärmbild av en utlösarkonfiguration baserat på ett schema som börjar år 2023 och som körs var femte minut.

    Kommentar

    Det minsta upprepningsfönstret för körning av ändringsdatainsamling är en minut.

  6. Välj Verifiera för att säkerställa att du inte har gjort några fel eller utelämnanden. Välj sedan Publicera för att publicera pipelinen.

  7. Observera de data som placeras i Azure Blob Storage-containern som utdata från dataflödet med hjälp av Azure Cosmos DB-analysarkivets ändringsdatainsamling.

    Screnshot av utdatafilerna från pipelinen i Azure Blob Storage-containern.

    Kommentar

    Starttiden för det första klustret kan ta upp till tre minuter. Om du vill undvika starttid för kluster i efterföljande körning av ändringsdatainsamling konfigurerar du dataflödesklustrets time to live-värde . Mer information om itegration runtime och TTL finns i Integration Runtime i Azure Data Factory.

Samtidiga jobb

Batchstorleken i källalternativen, eller situationer när mottagaren är långsam att mata in strömmen av ändringar, kan orsaka körning av flera jobb samtidigt. Undvik den här situationen genom att ange alternativet Samtidighet till 1 i pipelineinställningarna för att se till att nya körningar inte utlöses förrän den aktuella körningen har slutförts.

Nästa steg