Začínáme se zachytáváním dat změn v analytickém úložišti pro službu Azure Cosmos DB
PLATÍ PRO: NoSQL MongoDB
Pomocí funkce Change Data Capture (CDC) v analytickém úložišti Azure Cosmos DB jako zdroje pro Azure Data Factory nebo Azure Synapse Analytics zachytávejte konkrétní změny vašich dat.
Poznámka:
Upozorňujeme, že propojené rozhraní služby pro rozhraní API služby Azure Cosmos DB pro MongoDB ještě není v toku dat k dispozici. Koncový bod dokumentu účtu ale budete moct používat s propojeným rozhraním propojené služby Azure Cosmos DB for NoSQL jako alternativní řešení, dokud se propojená služba Mongo nepodporuje. V propojené službě NoSQL zvolte Enter Manually (Zadat ručně) a zadejte informace o účtu Cosmos DB a místo koncového bodu MongoDB (např. ) použijte koncový bod dokumentu účtu (např. https://[your-database-account-uri].documents.azure.com:443/
mongodb://[your-database-account-uri].mongo.cosmos.azure.com:10255/
)
Požadavky
- Existující účet služby Azure Cosmos DB.
- Pokud máte předplatné Azure, vytvořte nový účet.
- Pokud ještě nemáte předplatné Azure, vytvořte si napřed bezplatný účet.
- Alternativně můžete před potvrzením vyzkoušet službu Azure Cosmos DB zdarma .
Povolení analytického úložiště
Nejprve povolte Azure Synapse Link na úrovni účtu a pak povolte analytické úložiště pro kontejnery, které jsou vhodné pro vaši úlohu.
Povolení Azure Synapse Linku: Povolení Azure Synapse Linku pro účet služby Azure Cosmos DB
Povolení analytického úložiště pro kontejnery:
Možnost Průvodce Povolení pro konkrétní nový kontejner Povolení Azure Synapse Linku pro nové kontejnery Povolení pro konkrétní existující kontejner Povolení Azure Synapse Linku pro existující kontejnery
Vytvoření cílového prostředku Azure pomocí toků dat
Funkce zachytávání dat změn analytického úložiště je dostupná prostřednictvím funkce toku dat Azure Data Factory nebo Azure Synapse Analytics. Pro tuto příručku použijte Azure Data Factory.
Důležité
Alternativně můžete použít Azure Synapse Analytics. Nejprve vytvořte pracovní prostor Azure Synapse, pokud ho ještě nemáte. V nově vytvořeném pracovním prostoru vyberte kartu Vývoj , vyberte Přidat nový prostředek a pak vyberte Tok dat.
Pokud ji ještě nemáte, vytvořte službu Azure Data Factory.
Tip
Pokud je to možné, vytvořte datovou továrnu ve stejné oblasti, ve které se nachází váš účet služby Azure Cosmos DB.
Spusťte nově vytvořenou datovnu.
V datové toku vyberte kartu Toky dat a pak vyberte Nový tok dat.
Dejte nově vytvořenému toku dat jedinečný název. V tomto příkladu je tok dat pojmenován
cosmoscdc
.
Konfigurace nastavení zdroje pro kontejner analytického úložiště
Teď vytvořte a nakonfigurujte zdroj pro tok dat z analytického úložiště účtu služby Azure Cosmos DB.
Vyberte Vybrat zdroj.
Do pole Název výstupního datového proudu zadejte cosmos.
V části Typ zdroje vyberte Vložit.
V poli Datová sada vyberte Azure – Azure Cosmos DB for NoSQL.
Vytvořte novou propojenou službu pro svůj účet s názvem cosmoslinkedservice. V automaticky otevírané dialogovém okně Nová propojená služba vyberte existující účet Služby Azure Cosmos DB for NoSQL a pak vyberte OK. V tomto příkladu vybereme existující účet Azure Cosmos DB for NoSQL s názvem
msdocs-cosmos-source
a databází s názvemcosmicworks
.Jako typ úložiště vyberte Analytické .
Vyberte kartu Možnosti zdroje.
V možnostech zdroje vyberte cílový kontejner a povolte ladění toku dat. V tomto příkladu je kontejner pojmenován
products
.Vyberte ladění toku dat. V automaticky otevírané dialogovém okně Zapnout ladění toku dat zachovejte výchozí možnosti a pak vyberte OK.
Karta Možnosti zdroje obsahuje také další možnosti, které můžete povolit. Tato tabulka popisuje tyto možnosti:
Možnost | Popis |
---|---|
Zachycení průběžných aktualizací | Tuto možnost povolte, pokud chcete zaznamenat historii změn položek, včetně přechodných změn mezi čteními dat změn. |
Zachytávání odstranění | Tuto možnost povolte, pokud chcete zaznamenat uživatelem odstraněné záznamy a použít je na jímce. Odstranění nejde použít v Azure Data Exploreru a jímkách Azure Cosmos DB. |
Zachytávání TTL transakčního úložiště | Tuto možnost povolte, pokud chcete zachytit odstraněné záznamy TTL služby Azure Cosmos DB (time-to-live) a použít je na jímce. V Azure Data Exploreru a jímkách Azure Cosmos DB není možné použít hodnoty TTL-delete. |
Batchsize in bytes | Toto nastavení je ve skutečnosti gigabajty. Zadejte velikost v gigabajtech, pokud chcete dávkot informační kanály pro zachytávání dat změn. |
Další konfigurace | Extra konfigurace analytického úložiště Azure Cosmos DB a jejich hodnoty (např.: spark.cosmos.allowWhiteSpaceInFieldNames -> true ) |
Práce s možnostmi zdroje
Když zkontrolujete některou z Capture intermediate updates
Capture Deltes
možností , a Capture Transactional store TTLs
možnosti, proces CDC vytvoří a naplní __usr_opType
pole v jímce následujícími hodnotami:
Hodnota | Popis | Možnost |
---|---|---|
0 | UPDATE | Zachycení průběžných aktualizací |
2 | INSERT | Možnost vložení není dostupná, ve výchozím nastavení je zapnutá. |
3 | USER_DELETE | Zachytávání odstranění |
4 | TTL_DELETE | Zachytávání TTL transakčního úložiště |
Pokud potřebujete odlišit odstraněné záznamy TTL od dokumentů odstraněných uživateli nebo aplikacemi, zkontrolujte obě Capture intermediate updates
možnosti a Capture Transactional store TTLs
možnosti. Pak musíte přizpůsobit procesy CDC nebo aplikace nebo dotazy tak, aby se používaly __usr_opType
podle toho, co je nezbytné pro vaše obchodní potřeby.
Tip
Pokud je potřeba, aby podřízení spotřebitelé obnovili pořadí aktualizací se zaškrtnutou možností zachytit zprostředkující aktualizace, lze jako pole řazení použít pole časového razítka _ts
systému.
Vytvoření a konfigurace nastavení jímky pro operace aktualizace a odstranění
Nejprve vytvořte jednoduchou jímku služby Azure Blob Storage a pak nakonfigurujte jímku tak, aby filtruje data pouze na konkrétní operace.
Pokud ho ještě nemáte, vytvořte účet a kontejner Azure Blob Storage . V dalších příkladech použijeme účet s názvem
msdocsblobstorage
a kontejner s názvemoutput
.Tip
Pokud je to možné, vytvořte účet úložiště ve stejné oblasti, ve které se nachází váš účet služby Azure Cosmos DB.
Zpátky ve službě Azure Data Factory vytvořte novou jímku pro data změn zachycená z vašeho
cosmos
zdroje.Pojmenujte jímku jedinečný název. V tomto příkladu je jímka pojmenována
storage
.V části Typ jímky vyberte Vložit. V poli Datová sada vyberte Delta.
Pomocí služby Azure Blob Storage s názvem storagelinkedservice vytvořte pro svůj účet novou propojenou službu. V automaticky otevírané dialogovém okně Nová propojená služba vyberte existující účet služby Azure Blob Storage a pak vyberte OK. V tomto příkladu vybereme předem existující účet služby Azure Blob Storage s názvem
msdocsblobstorage
.Vyberte kartu Nastavení.
V nastavení nastavte cestu ke složce na název kontejneru objektů blob. V tomto příkladu je
output
název kontejneru .Vyhledejte část Metoda Update a změňte výběry tak, aby povolte pouze operace odstranění a aktualizace. Pomocí pole jako jedinečného identifikátoru také zadejte klíčové sloupce jako seznam sloupců.
{_rid}
Vyberte Ověřit, abyste se ujistili, že jste neprovedli žádné chyby nebo vynechání. Pak vyberte Publikovat a publikujte tok dat.
Naplánování provádění zachytávání dat změn
Po publikování toku dat můžete přidat nový kanál pro přesun a transformaci dat.
Vytvoření nového kanálu. Dejte kanálu jedinečný název. V tomto příkladu se kanál jmenuje
cosmoscdcpipeline
.V části Aktivity rozbalte možnost Přesunout a transformovat a pak vyberte Tok dat.
Dejte aktivitě toku dat jedinečný název. V tomto příkladu je aktivita pojmenována
cosmoscdcactivity
.Na kartě Nastavení vyberte tok dat,
cosmoscdc
který jste vytvořili dříve v této příručce. Pak vyberte velikost výpočetních prostředků na základě objemu dat a požadované latence pro vaši úlohu.Tip
Pro přírůstkové velikosti dat větší než 100 GB doporučujeme vlastní velikost s počtem jader 32 (+16 jader ovladačů).
Vyberte Přidat aktivační událost. Naplánujte spuštění tohoto kanálu v tempu, které dává smysl pro vaši úlohu. V tomto příkladu je kanál nakonfigurovaný tak, aby se spustil každých pět minut.
Poznámka:
Minimální interval opakování pro provádění zachytávání dat změn je jedna minuta.
Vyberte Ověřit, abyste se ujistili, že jste neprovedli žádné chyby nebo vynechání. Pak vyberte Publikovat a publikujte kanál.
Prohlédněte si data umístěná do kontejneru Azure Blob Storage jako výstup toku dat pomocí zachytávání dat analytického úložiště Azure Cosmos DB.
Poznámka:
Počáteční doba spuštění clusteru může trvat až tři minuty. Pokud se chcete vyhnout času spuštění clusteru v následných spuštěních dat změn, nakonfigurujte hodnotu Time toku dat naživo. Další informace o modulu runtime itegration a hodnotě TTL najdete v tématu Prostředí Integration Runtime ve službě Azure Data Factory.
Souběžné úlohy
Velikost dávky ve zdrojových možnostech nebo situacích, kdy je jímka pomalá na příjem datového proudu změn, může způsobit provádění více úloh najednou. Pokud se chcete této situaci vyhnout, nastavte možnost Souběžnost na hodnotu 1 v nastavení kanálu, abyste měli jistotu, že se do dokončení aktuálního spuštění neaktivují nové spuštění.