Hromadné kopírování více tabulek pomocí služby Azure Data Factory na webu Azure Portal

PLATÍ PRO: Azure Data Factory Azure Synapse Analytics

Tip

Vyzkoušejte si službu Data Factory v Microsoft Fabric, řešení pro analýzy typu all-in-one pro podniky. Microsoft Fabric zahrnuje všechno od přesunu dat až po datové vědy, analýzy v reálném čase, business intelligence a vytváření sestav. Přečtěte si, jak začít používat novou zkušební verzi zdarma.

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 Serveru nebo Oracle do Azure SQL Database/ Azure Synapse Analytics /Azure Blob, kopírování různých cest z objektů blob do tabulek Azure SQL Database.

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 propojené služby Azure SQL Database, Azure Synapse Analytics a Azure Storage.
  • Vytvoření datových sad Azure SQL Database a Azure Synapse Analytics
  • 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

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 v Azure SQL Database řadu tabulek, 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:

Workflow

  • 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 ve službě Azure SQL Database do odpovídající tabulky ve službě Azure Synapse Analytics s použitím fázované kopie prostřednictvím úložiště objektů blob a PolyBase pro zajištění nejlepšího výkonu. 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

  • Účet služby Azure Storage. Úč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 ve službě SQL Database s ukázkovými daty Adventure Works LT podle článku Vytvoření databáze v Azure SQL Database . Tento kurz zkopíruje všechny tabulky z této ukázkové databáze do služby Azure Synapse Analytics.
  • Azure Synapse Analytics. Tento datový sklad obsahuje data zkopírovaná z SQL Database. Pokud nemáte pracovní prostor Azure Synapse Analytics, přečtěte si článek Začínáme se službou Azure Synapse Analytics , kde najdete postup jeho vytvoření.

Služby Azure pro přístup k SQL serveru

Pro 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á možnost Povolit službám a prostředkům Azure přístup k tomuto nastavení serveru. Toto nastavení umožňuje službě Data Factory číst data z azure SQL Database a zapisovat data do služby Azure Synapse Analytics.

Pokud chcete toto nastavení ověřit a zapnout, přejděte na brány firewall zabezpečení serveru > a virtuální sítě > a nastavte možnost Povolit službám a prostředkům Azure přístup k tomuto serveru na zapnuto.>

Vytvoření datové továrny

  1. 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.

  2. Přejděte na Azure Portal.

  3. Na levé straně nabídky webu Azure Portal vyberte Vytvořit službu Data Factory integrace>prostředků.>

    Data Factory selection in the "New" pane

  4. Na stránce Nová datová továrna zadejte název 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 available
    
  5. Vyberte své předplatné Azure, ve kterém chcete vytvořit datovou továrnu.

  6. Pro Skupinu prostředků proveďte jeden z následujících kroků:

  7. Jako verzi vyberte V2.

  8. 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.

  9. Klikněte na Vytvořit.

  10. Po vytvoření vyberte Přejít k prostředku a přejděte na stránku Data Factory .

  11. Výběrem možnosti Otevřít na dlaždici Otevřít Azure Data Factory Studio spusťte aplikaci uživatelského rozhraní služby Data Factory na samostatné kartě.

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 propočítáte úložiště dat Azure SQL Database, Azure Synapse Analytics a Azure Blob Storage s datovou továrnou. Azure SQL Database je zdrojové úložiště dat. Azure Synapse Analytics je úložiště dat jímky nebo cíle. Azure Blob Storage připraví data před načtením dat do Azure Synapse Analytics pomocí PolyBase.

Vytvoření propojené služby Azure SQL Database pro zdroj

V tomto kroku vytvoříte propojenou službu pro propojení databáze ve službě Azure SQL Database s datovou továrnou.

  1. V levém podokně otevřete kartu Spravovat.

  2. Na stránce Propojené služby vyberte +Nový a vytvořte novou propojenou službu.

    New linked service.

  3. V okně Nová propojená služba vyberte Azure SQL Database a klikněte na Pokračovat.

  4. V okně Nová propojená služba (Azure SQL Database) proveďte následující kroky:

    a. Jako Název zadejte AzureSqlDatabaseLinkedService.

    b. Vyberte server pro název serveru.

    c. Vyberte databázi pro název databáze.

    d. Zadejte jméno uživatele pro připojení k databázi.

    e. Zadejte heslo pro tohoto uživatele.

    f. Chcete-li otestovat připojení k databázi pomocí zadaných informací, klepněte na tlačítko Test připojení.

    g. Kliknutím na Vytvořit uložíte propojenou službu.

Vytvoření propojené služby Azure Synapse Analytics jímky

  1. Na kartě Připojení znovu klikněte na + Nové na panelu nástrojů.

  2. V okně Nová propojená služba vyberte Azure Synapse Analytics a klikněte na Pokračovat.

  3. 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. Chcete-li otestovat připojení k databázi pomocí zadaných informací, klepněte na tlačítko Test připojení.

    g. 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.

  1. Na kartě Připojení znovu klikněte na + Nové na panelu nástrojů.

  2. V okně Nová propojená služba vyberte Azure Blob Storage a klikněte na Pokračovat.

  3. 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í k 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

  1. V levém podokně vyberte kartu Autor .

  2. + V levém podokně vyberte (plus) a pak vyberte Datová sada.

    New dataset menu

  3. V okně Nová datová sada vyberte Azure SQL Database a potom klikněte na Pokračovat.

  4. V okně Nastavit vlastnosti v části Název zadejte AzureSqlDatabaseDataset. V části Propojená služba vyberte AzureSqlDatabaseLinkedService. Pak klikněte na OK.

  5. Přepněte na kartu Připojení ion a vyberte libovolnou tabulku tabulky. 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. Můžete také kliknout na upravit zaškrtávací políčko a jako název tabulky zadat dbo.dummyName.

Vytvoření datové sady pro Azure Synapse Analytics jímky

  1. Klikněte na symbol + (plus) v levém podokně a pak klikněte na Datová sada.

  2. V okně Nová datová sada vyberte Azure Synapse Analytics a potom klikněte na Pokračovat.

  3. V okně Nastavit vlastnosti v části Název zadejte AzureSqlDWDataset. V části Propojená služba vyberte AzureSqlDWLinkedService. Pak klikněte na OK.

  4. 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 tento název zkopírujete nebo vložíte ze stránky, ujistěte se, že na konci DWTableName a DWSchema není žádný znak mezery.

  5. Přepněte na kartu Připojení.

    1. U tabulky zaškrtně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 na DWSchema v části Parametry, který automaticky naplní horní textové pole @dataset().DWSchemavýrazu a potom klepněte na tlačítko Dokončit.

      Dataset connection tablename

    2. Vyberte do druhého vstupního pole a klikněte níže na odkaz Přidat dynamický obsah . Na stránce Přidat dynamický obsah klikněte na DWTAbleName v části Parametry, který automaticky naplní horní textové pole @dataset().DWTableNamevýrazu a potom klepněte na tlačítko Dokončit.

    3. 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 přebírá jako parametr seznam tabulek. Pro každou tabulku v seznamu kopíruje data z tabulky ve službě Azure SQL Database do Azure Synapse Analytics pomocí fázované kopie a PolyBase.

Vytvoření kanálu IterateAndCopySQLTables

  1. V levém podokně klikněte na symbol + (plus) a pak klikněte na Kanál.

    New pipeline menu

  2. Na panelu Obecné v části Vlastnosti zadejte IterateAndCopySQLTables pro Název. Potom panel sbalte kliknutím na ikonu Vlastnosti v pravém horním rohu.

  3. Přepněte na kartu Parametry a proveďte následující akce:

    a. Klikněte na + Nový.

    b. Zadejte tableList pro název parametru.

    c. Jako Typ vyberte Pole.

  4. 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 položky a potom klikněte na odkaz Přidat dynamický obsah níže.

    c. Na stránce Přidat dynamický obsah sbalte části Systémové proměnné a funkce, klikněte na seznam tabulek v části Parametry, který automaticky naplní textové pole horního výrazu jako @pipeline().parameter.tableList. Klikněte na Dokončit.

    Foreach parameter builder

    d. Přepněte na kartu Aktivity , kliknutím na ikonu tužky přidejte podřízenou aktivitu do aktivity ForEach .

    Foreach activity builder

  5. V sadě nástrojů Aktivity rozbalte položku Přesunout a přenést a přetáhněte aktivitu kopírování dat do plochy 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. Pokud chcete přepnout zpět do editoru kanálů z editoru ForEach, můžete kliknout na odkaz v nabídce s popisem cesty.

    Copy in ForEach

  6. Přepněte na kartu Zdroj a proveďte následující kroky:

    1. Jako Zdrojová datová sada vyberte AzureSqlDatabaseDataset.

    2. Vyberte možnost Dotaz pro použití dotazu.

    3. Klikněte na vstupní pole dotazu –> vyberte níže uvedený dynamický obsah –> zadejte následující výraz dotazu –> vyberte Dokončit.

      SELECT * FROM [@{item().TABLE_SCHEMA}].[@{item().TABLE_NAME}]
      
  7. Přepněte na kartu Jímka a proveďte následující kroky:

    1. Jako Datová sada jímky vyberte AzureSqlDWDataset.

    2. Klikněte na vstupní pole pro hodnotu parametru DWTableName –> vyberte níže uvedený příkaz Přidat dynamický obsah , zadejte @item().TABLE_NAME výraz jako skript –> vyberte Dokončit.

    3. Klikněte na vstupní pole pro hodnotu parametru DWSchema –> vyberte níže uvedený příkaz Přidat dynamický obsah , zadejte @item().TABLE_SCHEMA výraz jako skript –> vyberte Dokončit.

    4. Pro metodu Copy vyberte PolyBase.

    5. Zrušte zaškrtnutí výchozí možnosti Použít typ.

    6. U možnosti Tabulka je výchozí nastavení None (Žádný). Pokud ve službě Azure Synapse Analytics nemáte předem vytvořené tabulky, povolte možnost automatického vytvoření tabulky , aktivita kopírování pak automaticky vytvoří tabulky podle zdrojových dat. Podrobnosti najdete v tématu Automatické vytváření tabulek jímky.

    7. Klikněte na vstupní pole Před kopírováním skriptu –> vyberte níže uvedený dynamický obsah –> zadejte následující výraz jako skript –> vyberte Dokončit.

      IF EXISTS (SELECT * FROM [@{item().TABLE_SCHEMA}].[@{item().TABLE_NAME}]) TRUNCATE TABLE [@{item().TABLE_SCHEMA}].[@{item().TABLE_NAME}]
      

      Copy sink settings

  8. Přepněte na kartu Nastavení a proveďte následující kroky:

    1. Zaškrtněte políčko pro povolení přípravy.
    2. Jako Propojená služba účtu úložiště zadejte AzureStorageLinkedService.
  9. Pokud chcete ověřit nastavení kanálu, klikněte na Ověřit na horním panelu nástrojů kanálu. Ujistěte se, že nedošlo k žádné chybě ověření. Chcete-li zavřít sestavu ověření kanálu, klepněte na dvojité úhlové závorky >>.

Vytvoření kanálu GetTableListAndTriggerCopyData

Tento kanál provede 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:

  1. V levém podokně klikněte na symbol + (plus) a pak klikněte na Kanál.

  2. Na panelu Obecné v části Vlastnosti změňte název kanálu na GetTableListAndTriggerCopyData.

  3. Na panelu nástrojů Aktivity rozbalte položku Obecné a přetáhněte vyhledávací aktivitu na plochu návrháře kanálu a proveďte následující kroky:

    1. Jako Název zadejte LookupTableList.
    2. Zadejte Načíst seznam tabulek z databáze pro popis.
  4. Přepněte na kartu Nastavení a proveďte následující kroky:

    1. Jako Zdrojová datová sada vyberte AzureSqlDatabaseDataset.

    2. Vyberte Dotaz pro použití dotazu.

    3. 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'
      
    4. Zrušte zaškrtnutí pole Pouze první řádek.

      Lookup activity - settings page

  5. Přetáhněte aktivitu Spustit kanál z panelu nástrojů Aktivity na plochu návrháře kanálu a nastavte název na TriggerCopy.

  6. Pokud chcete Připojeníaktivitu Vyhledávání do aktivity Spustit kanál, přetáhněte zelené pole připojené k aktivitě Vyhledávání doleva od aktivity Spustit kanál.

    Connect Lookup and Execute Pipeline activities

  7. Přepněte na kartu Nastavení aktivity Spuštění kanálu a proveďte následující kroky:

    1. Jako Vyvolaný kanál vyberte IterateAndCopySQLTables.

    2. Zrušte zaškrtnutí políčka Čekání na dokončení.

    3. V části Parametry klikněte na vstupní pole v části HODNOTA –> vyberte níže uvedený dynamický obsah –> zadejte @activity('LookupTableList').output.value jako hodnotu názvu tabulky –> vyberte Dokončit. Seznam výsledků z aktivity Vyhledávání nastavujete jako vstup do druhého kanálu. Seznam výsledků obsahuje seznam tabulek, jejichž data se musí zkopírovat do cíle.

      Execute pipeline activity - settings page

  8. 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 >>.

  9. Pokud chcete publikovat entity (datové sady, kanály atd.) do služby Data Factory, klikněte v horní části okna na Publikovat všechny . Počkejte na úspěšné dokončení publikování.

Aktivace spuštění kanálu

  1. Přejděte do kanálu GetTableListAndTriggerCopyData, klepněte na tlačítko Přidat aktivační událost na horním panelu nástrojů kanálu a potom klepněte na tlačítko Aktivovat nyní.

  2. 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

  1. Přepněte na kartu Monitorování . Klikněte na Aktualizovat , dokud se nezobrazí spuštění obou kanálů ve vašem řešení. Pokračujte v aktualizacích seznamu, dokud se nezobrazí stav Úspěch.

  2. Chcete-li 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. Monitor Pipeline run

  3. Pokud chcete zobrazit výstup aktivity Vyhledávání, klikněte na výstupní odkaz 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
            }
        ]
    }
    
  4. 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 cesty. Kliknutím na odkaz IterateAndCopySQLTables (ve sloupci NÁZEV KANÁLU) zobrazíte spuštění aktivit kanálu. Všimněte si, že ve výstupu aktivity Vyhledávání je spuštěná jedna aktivita kopírování pro každou tabulku.

  5. Ověřte, že se data zkopírovala do cílové služby Azure Synapse Analytics, kterou jste použili v tomto kurzu.

V tomto kurzu jste provedli následující kroky:

  • Vytvoření datové továrny
  • Vytvořte propojené služby Azure SQL Database, Azure Synapse Analytics a Azure Storage.
  • Vytvoření datových sad Azure SQL Database a Azure Synapse Analytics
  • 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: