Hromadné kopírování více tabulek pomocí Azure Data Factory v Azure Portal
PLATÍ PRO:
Azure Data Factory
Azure Synapse Analytics
Tento kurz ukazuje kopírování několika tabulek z Azure SQL Database do Azure Synapse Analytics . Stejný vzor můžete využít i u dalších scénářů kopírování. Například kopírování tabulek z SQL Server/Oracle do Azure SQL Database/Azure Synapse Analytics /Azure Blob, kopírování různých cest z objektů blob do Azure SQL Database tabulek.
Poznámka
Pokud se službou Azure Data Factory začínáte, přečtěte si téma Seznámení se službou Azure Data Factory.
Tento kurz zahrnuje následující základní kroky:
- Vytvoření datové továrny
- Vytvořte Azure SQL Database, Azure Synapse Analytics a Azure Storage propojené služby.
- Vytvořte Azure SQL Database a Azure Synapse Analytics datové sady.
- Vytvořte kanál, který bude hledat tabulky, které se mají zkopírovat, a další kanál, který provede vlastní operaci kopírování.
- Zahajte spuštění kanálu.
- Monitorování spuštění aktivit a kanálu
Tento kurz používá Azure Portal. Další informace o vytvoření datové továrny pomocí jiných nástrojů nebo sad SDK najdete v tématu Šablony Rychlý start.
Ucelený pracovní postup
V tomto scénáři máte několik tabulek v Azure SQL Database, které chcete zkopírovat do Azure Synapse Analytics. Tady je logická posloupnost kroků tohoto pracovního postupu, které se provádějí v kanálech:
(Pracovní postup)
- První kanál vyhledá seznam tabulek, které je potřeba zkopírovat do úložišť dat jímky. Další možností je udržovat tabulku metadat se seznamem všech tabulek, které je potřeba zkopírovat do úložišť dat jímky. Kanál potom aktivuje jiný kanál, který postupně prochází všechny tabulky v databázi a provádí operaci kopírování dat.
- Tento druhý kanál provádí vlastní kopírování. Jako parametr používá seznam tabulek. Pro každou tabulku v seznamu zkopírujte konkrétní tabulku v Azure SQL Database do odpovídající tabulky v Azure Synapse Analytics pomocí staged copy přes Blob Storage a PolyBase pro nejlepší výkon. V tomto příkladu první kanál předá seznam tabulek jako hodnotu parametru.
Pokud ještě nemáte předplatné Azure, vytvořte si napřed bezplatný účet.
Požadavky
- Azure Storage účtu. Účet Azure Storage se v operaci hromadného kopírování používá jako pracovní úložiště objektů blob.
- Azure SQL Database. Tato databáze obsahuje zdrojová data. Vytvořte databázi v SQL Database s ukázkovými daty Adventure Works LT podle tématu Vytvoření databáze v Azure SQL Database článku. Tento kurz kopíruje všechny tabulky z této ukázkové databáze do Azure Synapse Analytics.
- Azure Synapse Analytics. Tento datový sklad obsahuje data zkopírovaná z SQL Database. Pokud nemáte pracovní prostor s Azure Synapse Analytics, najdete v článku Začínáme s Azure Synapse Analytics postup jeho vytvoření.
Služby Azure pro přístup k SQL serveru
V případě SQL Database i Azure Synapse Analytics povolte službám Azure přístup k SQL serveru. Ujistěte se, že je pro váš server zapnuté nastavení Povolit službám a prostředkům Azure přístup k tomuto serveru. Toto nastavení umožňuje službě Data Factory číst data z vašeho Azure SQL Database a zapisovat data do Azure Synapse Analytics.
Pokud chcete toto nastavení ověřit a zapnout, přejděte na server > Security > Firewalls and virtual networks > nastavte možnost Povolit službám a prostředkům Azure přístup k tomuto serveru na HODNOTU ZAPNUTÁ.
Vytvoření datové továrny
Spusťte webový prohlížeč Microsoft Edge nebo Google Chrome. Uživatelské rozhraní služby Data Factory podporují v současnosti jenom webové prohlížeče Microsoft Edge a Google Chrome.
Přejděte na Azure Portal.
V levé části nabídky Azure Portal vyberte Vytvořit prostředek Integration > > Data Factory.
Na stránce Nová datová továrna jako název zadejte ADFTutorialBulkCopyDF.
Název objektu pro vytváření dat Azure musí být globálně jedinečný. Pokud se zobrazí následující chyba pole názvu, změňte název datové továrny (například na vaše_jméno_ADFTutorialBulkCopyDF). Pravidla pojmenování artefaktů služby Data Factory najdete v článku Data Factory – pravidla pojmenování.
Data factory name "ADFTutorialBulkCopyDF" is not availableVyberte své předplatné Azure, ve kterém chcete vytvořit datovou továrnu.
Pro Skupinu prostředků proveďte jeden z následujících kroků:
Vyberte Použít existující a z rozevíracího seznamu vyberte existující skupinu prostředků.
Vyberte Vytvořit novou a zadejte název skupiny prostředků.
Informace o skupinách prostředků najdete v článku Použití skupin prostředků ke správě prostředků Azure.
Jako verzi vyberte V2.
Vyberte umístění pro objekt pro vytváření dat. Pokud chcete zobrazit seznam oblastí Azure, ve kterých je služba Data Factory aktuálně dostupná, na následující stránce vyberte oblasti, které vás zajímají, pak rozbalte Analýza a vyhledejte Data Factory:Dostupné produkty v jednotlivých oblastech. Úložiště dat (Azure Storage, Azure SQL Database atd.) a výpočetní prostředí (HDInsight atd.) používané datovou továrnou mohou být v jiných oblastech.
Klikněte na Vytvořit.
Po vytvoření vyberte Přejít k prostředku a přejděte na Data Factory stránky.
Na dlaždici Open Azure Data Factory Studio (Otevřít Azure Data Factory Studio) vyberte Otevřít a na samostatné kartě Data Factory uživatelského rozhraní otevřete aplikaci uživatelského rozhraní.
Vytvoření propojených služeb
Vytvoříte propojené služby, které propojí vaše úložiště dat a výpočetní prostředí s datovou továrnou. Propojená služba obsahuje informace o připojení, které služba Data Factory používá pro připojení k úložišti dat za běhu.
V tomto kurzu propoutíte své Azure SQL Database, Azure Synapse Analytics a úložiště dat Azure Blob Storage s datovou továrnou. Azure SQL Database je zdrojové úložiště dat. Jako Azure Synapse Analytics je úložiště dat jímky nebo cíle. Azure Blob Storage je před načtením dat do databáze pomocí PolyBase Azure Synapse Analytics data.
Vytvoření propojené služby Azure SQL Database pro zdroj
V tomto kroku vytvoříte propojenou službu, která propojí vaši databázi v Azure SQL Database s datovou továrnou.
V levém podokně otevřete kartu Správa.
Na stránce Propojené služby vyberte + Nové a vytvořte novou propojenou službu.
V okně Nová propojená služba vyberte Azure SQL Database a klikněte na Pokračovat.
V okně Nová propojená služba (Azure SQL Database) proveďte následující kroky:
a. Jako Název zadejte AzureSqlDatabaseLinkedService.
b. Jako Název serveru vyberte svůj server.
c. Jako Název databáze vyberte svou databázi.
d. Zadejte jméno uživatele, který se má připojit k databázi.
e. Zadejte heslo pro tohoto uživatele.
f. Pokud chcete otestovat připojení k databázi pomocí zadaných informací, klikněte na Test připojení.
například Kliknutím na Vytvořit propojenou službu uložte.
Vytvoření propojené služby Azure Synapse Analytics jímky
Na kartě Připojení znovu klikněte na + Nové na panelu nástrojů.
V okně Nová propojená služba vyberte Azure Synapse Analytics a klikněte na Pokračovat.
V okně Nová propojená služba (Azure Synapse Analytics) proveďte následující kroky:
a. Jako Název zadejte AzureSqlDWLinkedService.
b. Vyberte server pro název serveru
c. Vyberte databázi pro název databáze.
d. Zadejte uživatelské jméno pro připojení k databázi.
e. Zadejte heslo pro uživatele.
f. Pokud chcete otestovat připojení k databázi pomocí zadaných informací, klikněte na Test připojení.
například Klikněte na Vytvořit.
Vytvoření pracovní propojené služby Azure Storage
V tomto kurzu použijete Azure Blob Storage jako dočasné pracovní oblast, abyste zajistili lepší výkon kopírování pro funkci PolyBase.
Na kartě Připojení znovu klikněte na + Nové na panelu nástrojů.
V okně Nová propojená služba vyberte Azure Blob Storage a klikněte na Pokračovat.
v okně nová propojená služba (Azure Blob Storage) proveďte následující kroky:
a. Jako Název zadejte AzureStorageLinkedService.
b. Jako Název účtu úložiště vyberte svůj účet služby Azure Storage.c. Klikněte na Vytvořit.
Vytvoření datových sad
V tomto kurzu vytvoříte zdrojovou datovou sadu a datovou sadu jímky, které určují umístění pro uložení dat.
Vstupní datová sada AzureSqlDatabaseDataset odkazuje na službu AzureSqlDatabaseLinkedService. Propojená služba určuje připojovací řetězec pro připojení k databázi. Datová sada určuje název databáze a tabulky obsahující zdrojová data.
Výstupní datová sada AzureSqlDWDataset odkazuje na službu AzureSqlDWLinkedService. Propojená služba Určuje připojovací řetězec pro připojení ke službě Azure synapse Analytics. Datová sada určuje databázi a tabulku, do kterých se data zkopírují.
V tomto kurzu nejsou zdrojová a cílová tabulka SQL pevně zakódované v definicích datových sad. Místo toho aktivita ForEach předává název tabulky do aktivity kopírování za běhu.
Vytvoření datové sady pro zdrojovou databázi SQL Database
V levém podokně vyberte kartu Autor .
+ V levém podokně vyberte (plus) a pak vyberte datová sada.
v okně nová datová sada vyberte Azure SQL Database a potom klikněte na pokračovat.
V okně nastavit vlastnosti v části název zadejte AzureSqlDatabaseDataset. V části propojená služba vyberte AzureSqlDatabaseLinkedService. Pak klikněte na OK.
Přepněte na kartu připojení , vyberte libovolnou tabulku pro tabulku. Tato tabulka je fiktivní. Při vytváření kanálu zadáte dotaz na zdrojovou datovou sadu. Dotaz slouží k extrakci dat z databáze. Případně můžete kliknout na tlačítko Upravit a jako název tabulky zadat dbo. název.
Vytvoření datové sady pro službu Azure synapse Analytics pro jímku
Klikněte na symbol + (plus) v levém podokně a pak klikněte na Datová sada.
V okně Nová datová sada vyberte Azure synapse Analytics a potom klikněte na pokračovat.
V okně nastavit vlastnosti v části název zadejte AzureSqlDWDataset. V části propojená služba vyberte AzureSqlDWLinkedService. Pak klikněte na OK.
Přepněte na kartu Parametry, klikněte na +Nové a jako název parametru zadejte DWTableName. Znovu klikněte na + Nový a jako název parametru zadejte DWSchema . Pokud zkopírujete nebo vložíte tento název ze stránky, zajistěte, aby na konci DWTableName a DWSchema nebyl žádný znak mezery na konci.
Přepněte na kartu Připojení.
V části tabulka ověřte možnost Upravit . Vyberte do prvního vstupního pole a klikněte na odkaz Přidat dynamický obsah níže. Na stránce Přidat dynamický obsah klikněte v části parametry na DWSchema , který automaticky vyplní textové pole výrazu Top
@dataset().DWSchemaa pak klikněte na Dokončit.
Vyberte druhý vstupní pole a klikněte na odkaz Přidat dynamický obsah níže. Na stránce Přidat dynamický obsah klikněte v části parametry na DWTAbleName , který automaticky vyplní textové pole výrazu Top
@dataset().DWTableNamea pak klikněte na Dokončit.Vlastnost TableName datové sady je nastavena na hodnoty, které jsou předány jako argumenty pro parametry DWSchema a DWTableName . Aktivita ForEach iteruje seznam tabulek a jednu po druhé je předává aktivitě kopírování.
Vytvoření kanálů
V tomto kurzy vytvoříte dva kanály: IterateAndCopySQLTables a GetTableListAndTriggerCopyData.
Kanál GetTableListAndTriggerCopyData provádí dvě akce:
- Vyhledá systémové tabulky Azure SQL Database a získá seznam tabulek, které se mají zkopírovat.
- Aktivuje kanál IterateAndCopySQLTables, který provede vlastní kopírování dat.
Kanál IterateAndCopySQLTables jako parametr používá seznam tabulek. pro každou tabulku v seznamu kopíruje data z tabulky v Azure SQL Database do služby Azure Synapse Analytics pomocí připravené kopie a základu.
Vytvoření kanálu IterateAndCopySQLTables
V levém podokně klikněte na symbol + (plus) a pak klikněte na Kanál.
Na panelu Obecné v části vlastnosti zadejte IterateAndCopySQLTables pro název. Pak panel sbalíte kliknutím na ikonu vlastnosti v pravém horním rohu.
Přepněte na kartu Parametry a proveďte následující akce:
a. Klikněte na + Nový.
b. Jako název parametru zadejte tableList .
c. Jako Typ vyberte Pole.
Na panelu nástrojů Aktivity rozbalte Iterace a podmínky a přetáhněte aktivitu ForEach na plochu návrháře kanálu. Na panelu nástrojů Aktivity můžete aktivity také vyhledávat.
a. Na kartě Obecné dole zadejte IterateSQLTables jako Název.
b. přepněte na kartu Nastavení , klikněte na vstupní pole pro položky a pak klikněte na odkaz přidat dynamický obsah níže.
c. Na stránce Přidat dynamický obsah sbalte oddíly systémové proměnné a funkce klikněte na tableList v části parametry. tím se automaticky naplní textové pole horního výrazu
@pipeline().parameter.tableList. Klikněte na Dokončit.
d. Přepněte na kartu aktivity , kliknutím na ikonu tužky přidejte podřízenou aktivitu do aktivity foreach .
Na panelu nástrojů aktivity rozbalte přesunout & přenos a přetáhněte aktivitu Kopírovat data na plochu návrháře kanálu. Všimněte si nabídky navigace s popisem cesty v horní části. IterateAndCopySQLTable je název kanálu a IterateSQLTables je název aktivity ForEach. Návrhář je v oboru aktivity. Chcete-li přepnout zpět na Editor kanálů z editoru ForEach, můžete kliknout na odkaz v nabídce popis cesty.
Přepněte na kartu Zdroj a proveďte následující kroky:
Jako Zdrojová datová sada vyberte AzureSqlDatabaseDataset.
V možnosti Použít dotaz vyberte Možnost dotazu.
Klikněte na vstupní pole Dotaz -> vyberte dole Přidat dynamický obsah -> zadejte následující výraz jako Dotaz -> vyberte Dokončit.
SELECT * FROM [@{item().TABLE_SCHEMA}].[@{item().TABLE_NAME}]
Přepněte na kartu Jímka a proveďte následující kroky:
Jako Datová sada jímky vyberte AzureSqlDWDataset.
Klikněte na vstupní pole pro hodnotu parametru DWTableName -> níže vyberte Přidat dynamický obsah, zadejte výraz jako skript
@item().TABLE_NAMEa -> dokončit.Klikněte na vstupní pole pro hodnotu parametru DWSchema -> níže vyberte Přidat dynamický obsah, zadejte výraz jako skript
@item().TABLE_SCHEMAa -> dokončit.Jako Metodu kopírování vyberte PolyBase.
Zrušte zaškrtnutí políčka Použít výchozí typ.
U možnosti Tabulka je výchozí nastavení "Žádné". Pokud nemáte v kanálu jímky předem vytvořené tabulky, povolte možnost Azure Synapse Analytics vytvoření tabulky, aktivita kopírování pak automaticky vytvoří tabulky na základě zdrojových dat. Podrobnosti najdete v tématu Automatické vytváření tabulek jímky.
Klikněte na vstupní pole Skript před kopírováním, vyberte dole Přidat dynamický obsah, zadejte následující výraz jako skript a vyberte Dokončit.
IF EXISTS (SELECT * FROM [@{item().TABLE_SCHEMA}].[@{item().TABLE_NAME}]) TRUNCATE TABLE [@{item().TABLE_SCHEMA}].[@{item().TABLE_NAME}]
Přepněte na kartu Nastavení a proveďte následující kroky:
- Zaškrtněte políčko Enable Staging (Povolit pracovní prostředí).
- Jako Propojená služba účtu úložiště zadejte AzureStorageLinkedService.
Pokud chcete ověřit nastavení kanálu, klikněte na Ověřit na horním panelu nástrojů kanálu. Ujistěte se, že neexistuje žádná chyba ověřování. Pokud chcete sestavu ověření kanálu zavřít, klikněte na dvojité hranaté závorky >> .
Vytvoření kanálu GetTableListAndTriggerCopyData
Tento kanál má dvě akce:
- Vyhledá systémové tabulky Azure SQL Database a získá seznam tabulek, které se mají zkopírovat.
- Aktivuje kanál IterateAndCopySQLTables, který provede vlastní kopírování dat.
Tady je postup vytvoření kanálu:
V levém podokně klikněte na symbol + (plus) a pak klikněte na Kanál.
Na panelu Obecné v části Vlastnosti změňte název kanálu na GetTableListAndTriggerCopyData.
Na panelu nástrojů Aktivity rozbalte Obecné, přetáhněte aktivitu Vyhledávání na plochu návrháře kanálu a proveďte následující kroky:
- Jako Název zadejte LookupTableList.
- Jako Popis zadejte Načíst seznam tabulek z databáze.
Přepněte na kartu Nastavení a proveďte následující kroky:
Jako Zdrojová datová sada vyberte AzureSqlDatabaseDataset.
V možnosti Použít dotaz vyberte Dotaz.
Jako Dotaz zadejte následující příkaz jazyka SQL.
SELECT TABLE_SCHEMA, TABLE_NAME FROM information_schema.TABLES WHERE TABLE_TYPE = 'BASE TABLE' and TABLE_SCHEMA = 'SalesLT' and TABLE_NAME <> 'ProductModel'Zrušte zaškrtnutí pole Pouze první řádek.
Přetáhněte aktivitu Spuštění kanálu z panelu nástrojů Aktivity na plochu návrháře kanálu a nastavte název na TriggerCopy.
Pokud Připojení aktivitu Vyhledávání na aktivitu Spuštění kanálu, přetáhněte zelené pole připojené k aktivitě Vyhledávání nalevo od aktivita Execute Pipeline.
Přepněte na kartu Nastavení aktivity Spuštění kanálu a proveďte následující kroky:
Jako Vyvolaný kanál vyberte IterateAndCopySQLTables.
Zrušte zaškrtnutí políčka Wait on completion (Počkat po dokončení).
V části Parametry klikněte na vstupní pole v části HODNOTA -> vyberte přidat dynamický obsah pod -> zadejte jako hodnotu názvu tabulky
@activity('LookupTableList').output.value-> dokončit. Seznam výsledků z aktivity Vyhledávání nastavíte jako vstup druhého kanálu. Seznam výsledků obsahuje seznam tabulek, jejichž data se musí zkopírovat do cíle.
Pokud chcete kanál ověřit, klikněte na Ověřit na panelu nástrojů. Ověřte, že se nezobrazí žádné chyby ověření. Pokud chcete Sestavu ověření kanálu zavřít, klikněte na >>.
Pokud chcete publikovat entity (datové sady, kanály atd.) do služby Data Factory, klikněte v horní části okna na Publikovat vše. Počkejte na úspěšné dokončení publikování.
Aktivace spuštění kanálu
Přejděte na kanál GetTableListAndTriggerCopyData, na horním panelu nástrojů kanálu klikněte na Přidat aktivační událost a pak klikněte na Aktivovat.
Potvrďte spuštění na stránce Spuštění kanálu a pak vyberte Dokončit.
Monitorování spuštění kanálu
Přepněte na kartu Monitorování. Klikněte na Aktualizovat, dokud neuvidíte spuštění pro oba kanály ve vašem řešení. Pokračujte v aktualizacích seznamu, dokud se nezobrazí stav Úspěch.
Pokud chcete zobrazit spuštění aktivit související s kanálem GetTableListAndTriggerCopyData, klikněte na odkaz na název kanálu. Pro toto spuštění kanálu by se měla zobrazit dvě spuštění aktivit.
Pokud chcete zobrazit výstup aktivity Vyhledávání, klikněte na odkaz Výstup vedle aktivity ve sloupci NÁZEV AKTIVITY. Okno Výstup můžete maximalizovat a obnovit. Po kontrole kliknutím na X zavřete okno Výstup.
{ "count": 9, "value": [ { "TABLE_SCHEMA": "SalesLT", "TABLE_NAME": "Customer" }, { "TABLE_SCHEMA": "SalesLT", "TABLE_NAME": "ProductDescription" }, { "TABLE_SCHEMA": "SalesLT", "TABLE_NAME": "Product" }, { "TABLE_SCHEMA": "SalesLT", "TABLE_NAME": "ProductModelProductDescription" }, { "TABLE_SCHEMA": "SalesLT", "TABLE_NAME": "ProductCategory" }, { "TABLE_SCHEMA": "SalesLT", "TABLE_NAME": "Address" }, { "TABLE_SCHEMA": "SalesLT", "TABLE_NAME": "CustomerAddress" }, { "TABLE_SCHEMA": "SalesLT", "TABLE_NAME": "SalesOrderDetail" }, { "TABLE_SCHEMA": "SalesLT", "TABLE_NAME": "SalesOrderHeader" } ], "effectiveIntegrationRuntime": "DefaultIntegrationRuntime (East US)", "effectiveIntegrationRuntimes": [ { "name": "DefaultIntegrationRuntime", "type": "Managed", "location": "East US", "billedDuration": 0, "nodes": null } ] }Pokud chcete přepnout zpět do zobrazení Spuštění kanálu, klikněte na odkaz Všechna spuštění kanálu v horní části nabídky s popisem stránky s popisem stránky. Kliknutím na odkaz IterateAndCopySQLTables (ve sloupci NÁZEV KANÁLU) zobrazte spuštění aktivit kanálu. Všimněte si, že pro každou tabulku ve výstupu aktivity Vyhledávání existuje jedno spuštění aktivity kopírování.
Ověřte, že se data zkopírovaná do cílového Azure Synapse Analytics jste použili v tomto kurzu.
Další kroky
V tomto kurzu jste provedli následující kroky:
- Vytvoření datové továrny
- Vytvořte Azure SQL Database, Azure Synapse Analytics a Azure Storage propojené služby.
- Vytvořte Azure SQL Database a Azure Synapse Analytics datové sady.
- Vytvoření kanálu pro vyhledání tabulek ke zkopírování a dalšího kanálu pro provedení vlastní operace kopírování
- Zahajte spuštění kanálu.
- Monitorování spuštění aktivit a kanálu
Pokud se chcete dozvědět víc o přírůstkovém kopírování ze zdroje do cíle, přejděte k následujícímu kurzu: