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
- Ett befintligt Azure Cosmos DB-konto.
- Om du har en Azure-prenumeration skapar du ett nytt konto.
- Om du inte har någon Azure-prenumeration skapar du ett kostnadsfritt konto innan du börjar.
- Du kan också prova Azure Cosmos DB kostnadsfritt innan du checkar in.
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.
Aktivera Azure Synapse Link: Aktivera Azure Synapse Link för ett Azure Cosmos DB-konto
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.
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.
Starta den nyligen skapade datafabriken.
I datafabriken väljer du fliken Dataflöden och väljer sedan Nytt dataflöde.
Ge det nyligen skapade dataflödet ett unikt namn. I det här exemplet heter
cosmoscdc
dataflödet .
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.
Välj Lägg till källa.
I fältet Namn på utdataström anger du cosmos.
I avsnittet Källtyp väljer du Infogat.
I fältet Datauppsättning väljer du Azure – Azure Cosmos DB för NoSQL.
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 namnetcosmicworks
.Välj Analys för butikstypen.
Välj fliken Källalternativ .
Välj målcontainern i källalternativen och aktivera Felsökning av dataflöde. I det här exemplet heter
products
containern .Välj Felsökning av dataflöde. I dialogrutan Aktivera felsökning av dataflöde behåller du standardalternativen och väljer sedan Ok.
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 updates
alternativen , Capture Deltes
och 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.
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 namnetoutput
.Dricks
Om möjligt skapar du lagringskontot i samma region där ditt Azure Cosmos DB-konto finns.
Tillbaka i Azure Data Factory skapar du en ny mottagare för ändringsdata som samlas in från din
cosmos
källa.Ge mottagaren ett unikt namn. I det här exemplet heter
storage
mottagaren .I avsnittet Mottagartyp väljer du Infogat. I fältet Datauppsättning väljer du Delta.
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
.Välj fliken Inställningar.
I Inställningar anger du mappsökvägen till namnet på blobcontainern. I det här exemplet är
output
containerns namn .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.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.
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.
Skapa en ny pipeline. Ge pipelinen ett unikt namn. I det här exemplet heter
cosmoscdcpipeline
pipelinen .I avsnittet Aktiviteter expanderar du alternativet Flytta och transformera och väljer sedan Dataflöde.
Ge dataflödesaktiviteten ett unikt namn. I det här exemplet heter
cosmoscdcactivity
aktiviteten .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.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).
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.
Kommentar
Det minsta upprepningsfönstret för körning av ändringsdatainsamling är en minut.
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.
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.
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
- Granska översikten över Azure Cosmos DB-analysarkivet