Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
VZTAHUJE SE NA:
Azure Data Factory
Azure Synapse Analytics
Tip
Data Factory v Microsoft Fabric je nová generace Azure Data Factory s jednodušší architekturou, integrovanou AI a novými funkcemi. Pokud s integrací dat začínáte, začněte Fabric Data Factory. Stávající úlohy ADF lze upgradovat na Fabric pro přístup k novým funkcím v oblastech datové vědy, analýz v reálném čase a vytváření sestav.
Pokud chcete zkopírovat obrovské objemy objektů (například tisíce tabulek) nebo načíst data z velkých zdrojů, je vhodné zadat seznam názvů objektů s požadovaným chováním kopírování v řídicí tabulce a pak použít parametrizované kanály ke čtení stejného z řídicí tabulky a odpovídajícím způsobem je použít pro úlohy. Tímto způsobem můžete seznam objektů snadno zkopírovat (například přidat nebo odebrat), a to tak, že místo opětovného nasazení kanálů aktualizujete názvy objektů v řídicí tabulce. Kromě toho budete mít jediné místo, kde můžete snadno zkontrolovat, které objekty zkopírovaly, podle kterých kanálů a triggerů s definovaným chováním kopírování.
Nástroj pro kopírování dat v ADF usnadňuje vytváření takových kanálů kopírování dat řízených metadaty. Jakmile projdete intuitivním tokem z prostředí založeného na průvodci, může nástroj vygenerovat parametrizované kanály a skripty SQL, abyste mohli odpovídajícím způsobem vytvářet tabulky externích ovládacích prvků. Po spuštění vygenerovaných skriptů pro vytvoření řídicí tabulky v databázi SQL budou kanály číst metadata z řídicí tabulky a automaticky je aplikovat na úlohy kopírování.
Vytváření úloh kopírování řízených metadaty z nástroje pro kopírování dat
V nástroji pro kopírování dat vyberte úlohu kopírování řízenou metadaty.
Potřebujete zadat připojení a název tabulky vaší řídicí tabulky, aby generovaný pipeline načetl metadata z této tabulky.
Zadejte připojení zdrojové databáze. Můžete také použít parametrizovanou propojenou službu .
Vyberte název tabulky, který chcete zkopírovat.
Vyberte tabulku
Poznámka:
Pokud vyberete tabulkové úložiště dat, budete mít možnost dalšího výběru plného načtení nebo rozdílového načtení na další stránce. Pokud vyberete úložiště, můžete na další stránce dále zvolit pouze plné načtení. Přírůstkové načítání nových souborů pouze z úložiště není v současné době podporováno.
Zvolte nastavení načítání.
Tip
Pokud chcete provést úplné kopírování všech tabulek, vyberte Úplné načtení všech tabulek. Pokud chcete provést přírůstkové kopírování, můžete vybrat konfigurovat každou tabulku jednotlivě a vybrat delta načtení, název sloupce vodoznaku a hodnotu jako počáteční bod pro každou tabulku.
Vyberte cílové datové úložiště.
Na stránce Nastavení můžete určit maximální počet aktivit kopírování pro kopírování dat ze zdrojového úložiště současně prostřednictvím počtu souběžných úloh kopírování. Výchozí hodnota je 20.
Po nasazení pipeline můžete zkopírovat nebo stáhnout skripty SQL z rozhraní pro vytvoření řídicí tabulky a uložené procedury.
Zobrazí se dva skripty SQL.
- První skript SQL slouží k vytvoření dvou řídicích tabulek. Hlavní řídicí tabulka ukládá chování seznamu tabulek, cesty k souboru nebo kopírování. Tabulka ovládacích prvků připojení ukládá hodnotu připojení úložiště dat, pokud jste použili parametrizovanou propojenou službu.
- Druhý skript SQL slouží k vytvoření uložené procedury. Slouží k aktualizaci hodnoty meze v hlavní řídicí tabulce při každém dokončení úloh přírůstkového kopírování.
Otevřete SSMS , abyste se připojili k řídicímu tabulkovému serveru, a spusťte dva skripty SQL, které vytvoří řídicí tabulky a uloží proceduru.
Zadejte dotaz na hlavní řídicí tabulku a tabulku ovládacích prvků připojení a zkontrolujte metadata v ní.
Hlavní řídicí tabulka
Tabulka ovládacích prvků připojení
Vraťte se na portál ADF a zobrazte a laděte datové toky. Zobrazí se složka vytvořená pojmenováním "MetadataDrivenCopyTask_#########". Klikněte na pojmenování kanálu s metadataDrivenCopyTask###_TopLevel" a klikněte na spustit ladění.
Musíte zadat následující parametry:
Název parametrů Popis MaximalníPočetSoučasnýchÚkolů Před spuštěním potrubí můžete vždy změnit maximální počet souběžných aktivit kopírování, které se spustí. Výchozí hodnota bude ta, kterou zadáte v nástroji pro kopírování dat. NázevHlavníOvládacíTabulky Název hlavní řídicí tabulky můžete vždy změnit, takže kanál před spuštěním získá metadata z této tabulky. ConnectionControlTableName Název tabulky ovládacích prvků připojení (volitelné) můžete kdykoli změnit, takže kanál před spuštěním získá metadata související s připojením k úložišti dat. MaxNumberOfObjectsReturnedFromLookupActivity Aby se zabránilo dosažení limitu výstupní aktivity vyhledávání, existuje způsob, jak definovat maximální počet objektů vrácených vyhledávací aktivitou. Ve většině případů není nutné změnit výchozí hodnotu. windowStart Když jako cestu ke složce zadáte dynamickou hodnotu (například yyyy/mm/dd), použije se parametr k předání času spuštění aktuálního triggeru do kanálu, aby se vyplnila cesta k dynamické složce. Když se kanál aktivuje triggerem plánu nebo triggerem pro přeskakující okna, uživatelé nemusí zadávat hodnotu tohoto parametru. Ukázková hodnota: 2021-01-25T01:49:28Z Aktivujte spouštěč pro zprovoznění potrubí.
Aktualizace řídicí tabulky pomocí nástroje pro kopírování dat
Řídicí tabulku můžete kdykoli aktualizovat přidáním nebo odebráním objektu, který se má zkopírovat, nebo změnit chování kopírování pro každou tabulku. Také vytváříme uživatelské rozhraní v nástroji pro kopírování dat, abychom usnadnili úpravu řídicí tabulky.
Klikněte pravým tlačítkem myši na kanál nejvyšší úrovně: MetadataDrivenCopyTask_xxx_TopLevel a pak vyberte Upravit řídicí tabulku.
Vyberte řádky z řídicí tabulky, které chcete upravit.
Projděte si nástroj na kopírování dat a získejte nový SQL skript. Znovu spusťte skript SQL, aby se aktualizovala tabulka ovládacích prvků.
Poznámka:
Potrubí nebude znovu nasazeno. Nový vytvořený skript SQL vám pomůže aktualizovat pouze řídicí tabulku.
Řídicí tabulky
Hlavní řídicí tabulka
Každý řádek v řídicí tabulce obsahuje metadata pro jeden objekt (například jednu tabulku), která se mají zkopírovat.
| Název sloupce | Popis |
|---|---|
| ID | Jedinečné ID objektu, který se má zkopírovat. |
| NastaveníZdrojovéhoObjektu | Metadata zdrojové datové sady Může to být název schématu, název tabulky atd. Tady je příklad. |
| NázevNastaveníPřipojeníZdroj | Název nastavení zdrojového připojení v tabulce ovládacích prvků připojení. Zadání je volitelné. |
| KopírovatNastaveníZdroje | Metadata vlastností zdroje v aktivitě kopírování Může to být dotaz, oddíly atd. Tady je příklad. |
| SinkObjectSettings | Metadata cílové datové sady Může to být název souboru, cesta ke složce, název tabulky atd. Tady je příklad. Pokud je zadaná cesta k dynamické složce, proměnná hodnota se sem nezapíše v řídicí tabulce. |
| NastaveníPřipojeníSinkName | Název nastavení cílového připojení v tabulce ovládacích prvků připojení. Zadání je volitelné. |
| CopySinkSettings | Metadata vlastnosti cílového úložiště v kopírovací aktivitě Může to být preCopyScript, tableOption atd. Tady je příklad. |
| NastaveníKopírovacíAktivity | Metadata vlastnosti translatoru v aktivitě kopírování Slouží k definování mapování sloupců. |
| TopLevelPipelineName | Název hlavního kanálu, který může tento objekt zkopírovat. |
| Název spouště | Název triggeru, který může aktivovat potrubí pro zkopírování tohoto objektu. Pokud je spuštěn ladící režim, název je Sandbox. Pokud je spuštění manuální, název je Manuální. Pokud je naplánované spuštění, název je přidruženým názvem triggeru. Může to být zadání více názvů. |
| Nastavení chování načítání dat | Plná zátěž vs. diferenciální zátěž. |
| Id úkolu | Pořadí objektů, které se mají zkopírovat podle TaskId v řídicí tabulce (ORDER BY [TaskId] DESC). Pokud máte obrovské množství objektů, které se mají zkopírovat, ale je povolený pouze omezený souběžný počet zkopírovaných objektů, můžete u každého objektu změnit ID úlohy a rozhodnout, které objekty je možné zkopírovat dříve. Výchozí hodnota je 0. |
| CopyEnabled | Určete, jestli je položka povolená v procesu příjmu dat. Povolené hodnoty: 1 (povoleno), 0 (zakázáno). Výchozí hodnota je 1. |
Tabulka ovládacích prvků připojení
Každý řádek v řídicí tabulce obsahuje jedno nastavení připojení pro úložiště dat.
| Název sloupce | Popis |
|---|---|
| Name | Název parametrizovaného připojení v hlavní řídicí tabulce |
| Nastavení připojení | Nastavení připojení. Může to být název databáze, název serveru atd. |
Pipelines
Uvidíte, že nástroj pro kopírování dat generuje tři úrovně kanálů.
MetadataDrivenCopyTask_xxx_TopLevel
Tento kanál vypočítá celkový počet objektů (tabulky atd.), které se musí v tomto spuštění zkopírovat, vytvoří se počet sekvenčních dávek na základě maximální povolené úlohy souběžného kopírování a potom spustí jiný kanál, který bude kopírovat různé dávky postupně.
Parametry
| Název parametrů | Popis |
|---|---|
| MaximalníPočetSoučasnýchÚkolů | Před spuštěním potrubí můžete vždy změnit maximální počet souběžných aktivit kopírování, které se spustí. Výchozí hodnota bude ta, kterou zadáte v nástroji pro kopírování dat. |
| NázevHlavníOvládacíTabulky | Název tabulky hlavní řídicí tabulky. Před spuštěním tento kanál získá z této tabulky metadata. |
| ConnectionControlTableName | Název tabulky tabulky ovládacích prvků připojení (volitelné). Kanál před spuštěním získá metadata spojená s připojením k úložišti dat. |
| MaxNumberOfObjectsReturnedFromLookupActivity | Aby se zabránilo dosažení limitu výstupní aktivity vyhledávání, existuje způsob, jak definovat maximální počet objektů vrácených vyhledávací aktivitou. Ve většině případů není nutné změnit výchozí hodnotu. |
| windowStart | Když jako cestu ke složce zadáte dynamickou hodnotu (například yyyy/mm/dd), použije se parametr k předání času spuštění aktuálního triggeru do kanálu, aby se vyplnila cesta k dynamické složce. Když se kanál aktivuje triggerem plánu nebo triggerem pro přeskakující okna, uživatelé nemusí zadávat hodnotu tohoto parametru. Ukázková hodnota: 2021-01-25T01:49:28Z |
Aktivity
| Název aktivity | Typ aktivity | Popis |
|---|---|---|
| GetSumOfObjectsToCopy | Vyhledání | Výpočet celkového počtu objektů (tabulek atd.) potřebných ke zkopírování v tomto spuštění. |
| CopyBatchesOfObjectsSequenly | ForEach | Vymyslete počet sekvenčních dávek na základě maximálního povoleného počtu souběžných úloh kopírování a pak spusťte další kanál, který bude kopírovat různé dávky postupně. |
| CopyObjectsInOneBatch | Spuštění kanálu | Spusťte další potrubí pro zkopírování jedné dávky objektů. Objekty patřící do této dávky se zkopírují paralelně. |
MetadataDrivenCopyTask_xxx_ střední úroveň
Toto potrubí zkopíruje jednu dávku objektů. Objekty patřící do této dávky se zkopírují paralelně.
Parametry
| Název parametrů | Popis |
|---|---|
| MaxNumberOfObjectsReturnedFromLookupActivity | Aby se zabránilo dosažení limitu výstupní aktivity vyhledávání, existuje způsob, jak definovat maximální počet objektů vrácených vyhledávací aktivitou. Ve většině případů není nutné změnit výchozí hodnotu. |
| TopLevelPipelineName | Název procesního řetězce nejvyšší vrstvy. |
| Název spouště | Název spouštěče. |
| AktuálníPořadovéČísloŠarže | ID sekvenční dávky. |
| SoučetObjektůKeKopírování | Celkový počet objektů, které chcete zkopírovat. |
| Součet objektů ke kopírování pro aktuální dávku | Počet objektů, které se mají zkopírovat v aktuální dávce. |
| NázevHlavníOvládacíTabulky | Název hlavní řídicí tabulky. |
| ConnectionControlTableName | Název tabulky ovládacích prvků připojení. |
Aktivity
| Název aktivity | Typ aktivity | Popis |
|---|---|---|
| RozdělitJednuDávkuNaVíceSkupin | ForEach | Rozdělte objekty z jedné dávky do několika paralelních skupin, abyste se vyhnuli dosažení výstupního limitu aktivity vyhledávání. |
| ZískatObjektyNaSkupinuKeKopírování | Vyhledání | Získejte objekty (tabulky atd.) z řídicí tabulky, které je potřeba zkopírovat v této skupině. Pořadí objektů, které se mají zkopírovat podle TaskId v řídicí tabulce (ORDER BY [TaskId] DESC). |
| KopírovatObjektyVJednéSkupině | Spuštění kanálu | Spusťte další pipeline pro zkopírování objektů z jedné skupiny. Objekty patřící do této skupiny se zkopírují paralelně. |
MetadataDrivenCopyTask_xxx_ ÚroveňSpodku
Toto potrubí zkopíruje objekty z jedné skupiny. Objekty patřící do této skupiny se zkopírují paralelně.
Parametry
| Název parametrů | Popis |
|---|---|
| PočetObjektůKeKopírováníNaSkupinu | Počet objektů, které se mají kopírovat v aktuální skupině. |
| ConnectionControlTableName | Název tabulky ovládacích prvků připojení. |
| windowStart | Používá se k předání aktuálního času triggeru pipeline, aby vyplnil cestu k dynamické složce, pokud je nakonfigurované uživatelem. |
Aktivity
| Název aktivity | Typ aktivity | Popis |
|---|---|---|
| SeznamPředmětůZJednéSkupiny | ForEach | Seznamte objekty z jedné skupiny a každý z nich iterujte směrem k následným aktivitám. |
| SměrujPrácePodleChováníPřiNačítání | Přepínač | Zkontrolujte chování načítání jednotlivých objektů. Pokud je výchozí případ nebo FullLoad, proveďte úplné nahrání. Pokud se jedná o případ DeltaLoadu, proveďte přírůstkové načtení pomocí sloupce pro sledování změn a identifikujte změny. |
| FullLoadOneObject | Kopírovat | Pořiďte na tomto objektu úplný snímek a zkopírujte ho do cíle. |
| DeltaLoadOneObject | Kopírovat | Změněná data zkopírujte jenom z posledního okamžiku porovnáním hodnoty ve sloupci vodoznaku a identifikujte změny. |
| GetMaxWatermarkValue | Vyhledání | Zadejte dotaz na zdrojový objekt a získejte maximální hodnotu ze sloupce vodoznaku. |
| AktualizovatHodnotuSloupceWatermark | StoreProcedure | Zapište novou hodnotu vodoznaku do řídicí tabulky, aby mohla být použita příště. |
Známá omezení
- Název prostředí IR, typ databáze, typ formátu souboru nelze parametrizovat v ADF. Pokud například chcete ingestovat data z Oracle Serveru i z SQL Server, budete potřebovat dva různé parametrizované kanály. Jedinou řídicí tabulku ale můžou sdílet dvě sady kanálů.
- OpenJSON se používá ve generovaných skriptech SQL pomocí nástroje pro kopírování dat. Pokud k hostování řídicí tabulky používáte SQL Server, musí být SQL Server 2016 (13.x) a novější, aby bylo možné podporovat funkci OPENJSON.
Související obsah
Vyzkoušejte tyto kurzy, které používají nástroj pro kopírování dat: