Sdílet prostřednictvím


Kopírování a transformace dat ve službě Microsoft Fabric Warehouse pomocí služby Azure Data Factory nebo Azure Synapse Analytics

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 článek popisuje, jak pomocí aktivity kopírování kopírovat data z a do Microsoft Fabric Warehouse. Další informace najdete v úvodním článku pro Azure Data Factory nebo Azure Synapse Analytics.

Podporované funkce

Tento konektor Microsoft Fabric Warehouse je podporovaný pro následující funkce:

Podporované funkce IR Spravovaný privátní koncový bod
aktivita Copy (zdroj/jímka) (1) (2)
Mapování toku dat (zdroj/jímka) (1)
Aktivita Lookup (1) (2)
Aktivita GetMetadata (1) (2)
Aktivita skriptu (1) (2)
Aktivita uložená procedura (1) (2)

(1) Prostředí Azure Integration Runtime (2) Místní prostředí Integration Runtime

Začínáme

K provedení aktivita Copy s kanálem můžete použít jeden z následujících nástrojů nebo sad SDK:

Vytvoření propojené služby Microsoft Fabric Warehouse pomocí uživatelského rozhraní

Pomocí následujících kroků vytvořte propojenou službu Microsoft Fabric Warehouse v uživatelském rozhraní webu Azure Portal.

  1. Přejděte na kartu Správa v pracovním prostoru Azure Data Factory nebo Synapse a vyberte Propojené služby a pak vyberte Nový:

  2. Vyhledejte Sklad a vyberte konektor.

    Snímek obrazovky znázorňující výběr konektoru Microsoft Fabric Warehouse

  3. Nakonfigurujte podrobnosti o službě, otestujte připojení a vytvořte novou propojenou službu.

    Snímek obrazovky s konfigurací propojené služby Microsoft Fabric Warehouse

Podrobnosti konfigurace konektoru

Následující části obsahují podrobnosti o vlastnostech, které slouží k definování entit služby Data Factory specifických pro Microsoft Fabric Warehouse.

Vlastnosti propojené služby

Konektor Microsoft Fabric Warehouse podporuje následující typy ověřování. Podrobnosti najdete v odpovídajících částech:

Ověřování instančního objektu

Pokud chcete použít ověřování instančního objektu, postupujte takto.

  1. Zaregistrujte aplikaci na platformě Microsoft Identity Platform a přidejte tajný klíč klienta. Potom si poznamenejte tyto hodnoty, které použijete k definování propojené služby:

    • ID aplikace (klienta), což je ID instančního objektu v propojené službě.
    • Hodnota tajného klíče klienta, což je instanční klíč v propojené službě.
    • ID tenanta
  2. Udělte instančnímu objektu alespoň roli Přispěvatel v pracovním prostoru Microsoft Fabric. Postupujte následovně:

    1. Přejděte do pracovního prostoru Microsoft Fabric a na horním panelu vyberte Spravovat přístup . Pak vyberte Přidat lidi nebo skupiny.

      Snímek obrazovky znázorňující výběr pracovního prostoru Prostředky infrastruktury – Spravovat přístup

       Snímek obrazovky znázorňující podokno Spravovat přístup k pracovnímu prostoru Prostředky infrastruktury

    2. V podokně Přidat lidi zadejte název instančního objektu a v rozevíracím seznamu vyberte instanční objekt.

    3. Zadejte roli přispěvatele nebo vyšší (správce, člen) a pak vyberte Přidat.

      Snímek obrazovky znázorňující přidání role pracovního prostoru Fabric

    4. Instanční objekt se zobrazí v podokně Správa přístupu .

Propojená služba podporuje tyto vlastnosti:

Vlastnost Popis Povinní účastníci
type Vlastnost typu musí být nastavena na Sklad. Ano
endpoint Koncový bod serveru Microsoft Fabric Warehouse. Ano
workspaceId ID pracovního prostoru Microsoft Fabric. Ano
artifactId ID objektu Microsoft Fabric Warehouse. Ano
klient Zadejte informace o tenantovi (název domény nebo ID tenanta), pod kterým se vaše aplikace nachází. Načtěte ho tak, že nainstalujete myš v pravém horním rohu webu Azure Portal. Ano
servicePrincipalId Zadejte ID klienta aplikace. Ano
servicePrincipalCredentialType Typ přihlašovacích údajů, který se má použít pro ověřování instančního objektu. Povolené hodnoty jsou ServicePrincipalKey a ServicePrincipalCert. Ano
servicePrincipalCredential Přihlašovací údaje instančního objektu.
Pokud jako typ přihlašovacích údajů použijete ServicePrincipalKey , zadejte hodnotu tajného klíče klienta aplikace. Označte toto pole jako SecureString , abyste ho mohli bezpečně uložit, nebo odkazovat na tajný kód uložený ve službě Azure Key Vault.
Pokud jako přihlašovací údaje použijete ServicePrincipalCert , odkazujte na certifikát ve službě Azure Key Vault a ujistěte se, že typ obsahu certifikátu je PKCS #12.
Ano
connectVia Prostředí Integration Runtime , které se má použít pro připojení k úložišti dat. Pokud je vaše úložiště dat v privátní síti, můžete použít prostředí Azure Integration Runtime nebo místní prostředí Integration Runtime. Pokud není zadaný, použije se výchozí prostředí Azure Integration Runtime. No

Příklad: Použití ověřování pomocí instančního klíče

Ve službě Azure Key Vault můžete také uložit instanční klíč.

{
    "name": "MicrosoftFabricWarehouseLinkedService",
    "properties": {
        "type": "Warehouse",
        "typeProperties": {
            "endpoint": "<Microsoft Fabric Warehouse server endpoint>",
            "workspaceId": "<Microsoft Fabric workspace ID>",
            "artifactId": "<Microsoft Fabric Warehouse object ID>",
            "tenant": "<tenant info, e.g. microsoft.onmicrosoft.com>",
            "servicePrincipalId": "<service principal id>",
            "servicePrincipalCredentialType": "ServicePrincipalKey",
            "servicePrincipalCredential": {
                "type": "SecureString",
                "value": "<service principal key>"
            }   
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

Vlastnosti datové sady

Úplný seznam oddílů a vlastností dostupných pro definování datových sad najdete v článku Datové sady .

Datové sady Microsoft Fabric Warehouse podporují následující vlastnosti:

Vlastnost Popis Povinní účastníci
type Vlastnost typu datové sady musí být nastavená na WarehouseTable. Ano
schema Název schématu Ne pro zdroj, Ano pro jímku
table Název tabulky nebo zobrazení Ne pro zdroj, Ano pro jímku

Příklad vlastností datové sady

{
    "name": "FabricWarehouseTableDataset",
    "properties": {
        "type": "WarehouseTable",
        "linkedServiceName": {
            "referenceName": "<Microsoft Fabric Warehouse linked service name>",
            "type": "LinkedServiceReference"
        },
        "schema": [ < physical schema, optional, retrievable during authoring >
        ],
        "typeProperties": {
            "schema": "<schema_name>",
            "table": "<table_name>"
        }
    }
}

Vlastnosti aktivity kopírování

Úplný seznam oddílů a vlastností dostupných pro definování aktivit najdete v tématu aktivita Copy konfigurace a kanály a aktivity. Tato část obsahuje seznam vlastností podporovaných zdrojem a jímkou Microsoft Fabric Warehouse.

Microsoft Fabric Warehouse jako zdroj

Tip

Pokud chcete efektivně načítat data z Microsoft Fabric Warehouse pomocí dělení dat, přečtěte si další informace z paralelní kopie z Microsoft Fabric Warehouse.

Pokud chcete kopírovat data z Microsoft Fabric Warehouse, nastavte vlastnost typu ve zdroji aktivity kopírování na WarehouseSource. Ve zdroji aktivity kopírování jsou podporovány následující vlastnosti:

Vlastnost Popis Povinní účastníci
type Vlastnost typu zdroje aktivity kopírování musí být nastavena na WarehouseSource. Ano
sqlReaderQuery Ke čtení dat použijte vlastní dotaz SQL. Příklad: select * from MyTable. No
sqlReaderStoredProcedureName Název uložené procedury, která čte data ze zdrojové tabulky. Poslední příkaz SQL musí být příkaz SELECT v uložené proceduře. No
storedProcedureParameters Parametry uložené procedury.
Povolené hodnoty jsou dvojice názvů nebo hodnot. Názvy a velikost písmen parametrů musí odpovídat názvům a velikostem písmen parametrů uložené procedury.
No
queryTimeout Určuje časový limit spuštění příkazu dotazu. Výchozí hodnota je 120 minut. No
isolationLevel Určuje chování uzamčení transakce pro zdroj SQL. Povolená hodnota je Snapshot. Pokud není zadáno, použije se výchozí úroveň izolace databáze. Další informace naleznete v tématu system.data.isolationlevel. No
partitionOptions Určuje možnosti dělení dat, které se používají k načtení dat z Microsoft Fabric Warehouse.
Povolené hodnoty jsou: None (výchozí) a DynamicRange.
Pokud je povolená možnost oddílu (tj. ne None), je stupeň paralelismu souběžného načítání dat z Microsoft Fabric Warehouse řízen parallelCopies nastavením aktivity kopírování.
No
partitionSettings Zadejte skupinu nastavení pro dělení dat.
Použít, pokud možnost oddílu není None.
No
V části partitionSettings:
partitionColumnName Zadejte název zdrojového sloupce v celočíselném čísle nebo typu date/datetime (int, smallint, datebigint, ), datetime2který bude použit dělením rozsahu pro paralelní kopírování. Pokud není zadaný, index nebo primární klíč tabulky se automaticky zjistí a použije se jako sloupec oddílu.
Použít, pokud je DynamicRangemožnost oddílu . Pokud k načtení zdrojových dat použijete dotaz, připojte se ?DfDynamicRangePartitionCondition do klauzule WHERE. Příklad najdete v části Paralelní kopírování z Microsoft Fabric Warehouse .
No
partitionUpperBound Maximální hodnota sloupce oddílu pro rozdělení rozsahu oddílů. Tato hodnota se používá k rozhodování o kroku oddílu, nikoli k filtrování řádků v tabulce. Všechny řádky v tabulce nebo výsledku dotazu se rozdělí a zkopírují. Pokud není zadáno, aktivita kopírování automaticky rozpozná hodnotu.
Použít, pokud je DynamicRangemožnost oddílu . Příklad najdete v části Paralelní kopírování z Microsoft Fabric Warehouse .
No
partitionLowerBound Minimální hodnota sloupce oddílu pro rozdělení rozsahu oddílů. Tato hodnota se používá k rozhodování o kroku oddílu, nikoli k filtrování řádků v tabulce. Všechny řádky v tabulce nebo výsledku dotazu se rozdělí a zkopírují. Pokud není zadáno, aktivita kopírování automaticky rozpozná hodnotu.
Použít, pokud je DynamicRangemožnost oddílu . Příklad najdete v části Paralelní kopírování z Microsoft Fabric Warehouse .
No

Poznámka:

Při použití uložené procedury ve zdroji k načtení dat si všimněte, že uložená procedura je navržena jako vrácení jiného schématu při předání jiné hodnoty parametru, může dojít k selhání nebo k neočekávanému výsledku při importu schématu z uživatelského rozhraní nebo při kopírování dat do Microsoft Fabric Warehouse s automatickým vytvořením tabulky.

Příklad: Použití dotazu SQL

"activities":[
    {
        "name": "CopyFromMicrosoftFabricWarehouse",
        "type": "Copy",
        "inputs": [
            {
                "referenceName": "<Microsoft Fabric Warehouse input dataset name>",
                "type": "DatasetReference"
            }
        ],
        "outputs": [
            {
                "referenceName": "<output dataset name>",
                "type": "DatasetReference"
            }
        ],
        "typeProperties": {
            "source": {
                "type": "WarehouseSource",
                "sqlReaderQuery": "SELECT * FROM MyTable"
            },
            "sink": {
                "type": "<sink type>"
            }
        }
    }
]

Příklad: použití uložené procedury

"activities":[
    {
        "name": "CopyFromMicrosoftFabricWarehouse",
        "type": "Copy",
        "inputs": [
            {
                "referenceName": "<Microsoft Fabric Warehouse input dataset name>",
                "type": "DatasetReference"
            }
        ],
        "outputs": [
            {
                "referenceName": "<output dataset name>",
                "type": "DatasetReference"
            }
        ],
        "typeProperties": {
            "source": {
                "type": "WarehouseSource",
                "sqlReaderStoredProcedureName": "CopyTestSrcStoredProcedureWithParameters",
                "storedProcedureParameters": {
                    "stringData": { "value": "str3" },
                    "identifier": { "value": "$$Text.Format('{0:yyyy}', <datetime parameter>)", "type": "Int"}
                }
            },
            "sink": {
                "type": "<sink type>"
            }
        }
    }
]

Ukázková uložená procedura:

CREATE PROCEDURE CopyTestSrcStoredProcedureWithParameters
(
    @stringData varchar(20),
    @identifier int
)
AS
SET NOCOUNT ON;
BEGIN
    select *
    from dbo.UnitTestSrcTable
    where dbo.UnitTestSrcTable.stringData != stringData
    and dbo.UnitTestSrcTable.identifier != identifier
END
GO

Microsoft Fabric Warehouse jako typ jímky

Kanály Azure Data Factory a Synapse podporují použití příkazu COPY k načtení dat do Microsoft Fabric Warehouse.

Pokud chcete kopírovat data do Microsoft Fabric Warehouse, nastavte typ jímky v aktivitě kopírování na WarehouseSink. V části Jímka aktivity kopírování se podporují následující vlastnosti:

Vlastnost Popis Povinní účastníci
type Vlastnost typu jímky aktivity kopírování musí být nastavena na WarehouseSink. Ano
allowCopyCommand Určuje, jestli se má příkaz COPY použít k načtení dat do Microsoft Fabric Warehouse.

Informace o omezeních a podrobnostech najdete v části Použití příkazu COPY k načtení dat do microsoft Fabric Warehouse .

Povolená hodnota je True.
Ano
copyCommandSettings Skupina vlastností, které lze zadat, když allowCopyCommand je vlastnost nastavena na HODNOTU TRUE. No
writeBatchTimeout Tato vlastnost určuje dobu čekání na dokončení operace vložení, upsertu a uložené procedury před vypršením časového limitu.

Povolené hodnoty jsou pro časový rozsah. Příkladem je 00:30:00 po dobu 30 minut. Pokud není zadána žádná hodnota, časový limit se ve výchozím nastavení nastaví na 00:30:00.
No
preCopyScript Zadejte dotaz SQL pro aktivitu kopírování, který se má spustit před zápisem dat do Microsoft Fabric Warehouse v každém spuštění. Tato vlastnost slouží k vyčištění předem načtených dat. No
tableOption Určuje, zda se má automaticky vytvořit tabulka jímky, pokud neexistuje na základě zdrojového schématu. Povolené hodnoty jsou: none (výchozí), autoCreate. No
disableMetricsCollection Služba shromažďuje metriky pro optimalizaci výkonu kopírování a doporučení, která představují další hlavní přístup k databázi. Pokud máte obavy o toto chování, určete true , jestli chcete toto chování vypnout. Ne (výchozí hodnota je false)

Příklad: Jímka služby Microsoft Fabric Warehouse

"activities":[
    {
        "name": "CopyToMicrosoftFabricWarehouse",
        "type": "Copy",
        "inputs": [
            {
                "referenceName": "<input dataset name>",
                "type": "DatasetReference"
            }
        ],
        "outputs": [
            {
                "referenceName": "<Microsoft Fabric Warehouse output dataset name>",
                "type": "DatasetReference"
            }
        ],
        "typeProperties": {
            "source": {
                "type": "<source type>"
            },
            "sink": {
                "type": "WarehouseSink",
                "allowCopyCommand": true,
                "tableOption": "autoCreate",
                "disableMetricsCollection": false
            }
        }
    }
]

Paralelní kopírování z Microsoft Fabric Warehouse

Konektor Microsoft Fabric Warehouse v aktivitě kopírování poskytuje integrované dělení dat pro paralelní kopírování dat. Možnosti dělení dat najdete na kartě Zdroj aktivity kopírování.

Snímek obrazovky s možnostmi oddílu

Když povolíte dělené kopírování, aktivita kopírování spouští paralelní dotazy na zdroj Microsoft Fabric Warehouse a načítá data podle oddílů. Paralelní stupeň se řídí parallelCopies nastavením aktivity kopírování. Pokud například nastavíte parallelCopies hodnotu čtyři, služba souběžně vygeneruje a spouští čtyři dotazy na základě zadané možnosti a nastavení oddílu a každý dotaz načte část dat z vašeho Microsoft Fabric Warehouse.

Doporučujeme povolit paralelní kopírování s dělením dat, zejména pokud načítáte velké množství dat z Microsoft Fabric Warehouse. Následující konfigurace jsou navržené pro různé scénáře. Při kopírování dat do souborového úložiště dat se doporučuje zapisovat do složky jako více souborů (zadat pouze název složky), v takovém případě je výkon lepší než zápis do jednoho souboru.

Scénář Navrhovaná nastavení
Úplné načtení z velké tabulky, zatímco u sloupce typu celé číslo nebo datum a čas pro dělení dat. Možnosti oddílu: Oddíl dynamického rozsahu
Sloupec oddílu (volitelné): Zadejte sloupec použitý k dělení dat. Pokud není zadaný, použije se sloupec indexu nebo primárního klíče.
Horní mez oddílu a dolní mez oddílu (volitelné): Určete, jestli chcete určit krok oddílu. Toto není pro filtrování řádků v tabulce a všechny řádky v tabulce budou rozděleny a zkopírovány. Pokud není zadáno, aktivita kopírování automaticky rozpozná hodnoty.

Pokud má například sloupec oddílu ID hodnoty od 1 do 100 a dolní mez nastavíte jako 20 a horní mez jako 80, přičemž paralelní kopírování je 4, služba načte data o 4 oddílech – ID v rozsahu <=20, [21, 50], [51, 80] a >=81.
Načtěte velké množství dat pomocí vlastního dotazu, zatímco s celočíselnou nebo datem a datem a časem pro dělení dat. Možnosti oddílu: Oddíl dynamického rozsahu
Dotaz: SELECT * FROM <TableName> WHERE ?DfDynamicRangePartitionCondition AND <your_additional_where_clause>.
Sloupec oddílu: Zadejte sloupec použitý k rozdělení dat.
Horní mez oddílu a dolní mez oddílu (volitelné): Určete, jestli chcete určit krok oddílu. Toto není pro filtrování řádků v tabulce a všechny řádky ve výsledku dotazu budou rozděleny a zkopírovány. Pokud není zadáno, aktivita kopírování automaticky rozpozná hodnotu.

Pokud má například sloupec oddílu ID hodnoty od 1 do 100 a dolní mez nastavíte jako 20 a horní mez 80, přičemž paralelní kopírování je 4, služba načte data podle 4 oddílů v rozsahu <=20, [21, 50], [51, 80] a >=81.

Tady jsou další ukázkové dotazy pro různé scénáře:
1. Dotaz na celou tabulku:
SELECT * FROM <TableName> WHERE ?DfDynamicRangePartitionCondition
2. Dotaz z tabulky s výběrem sloupce a dalšími filtry klauzule where:
SELECT <column_list> FROM <TableName> WHERE ?DfDynamicRangePartitionCondition AND <your_additional_where_clause>
3. Dotaz s poddotazy:
SELECT <column_list> FROM (<your_sub_query>) AS T WHERE ?DfDynamicRangePartitionCondition AND <your_additional_where_clause>
4. Dotaz s oddílem v poddotazu:
SELECT <column_list> FROM (SELECT <your_sub_query_column_list> FROM <TableName> WHERE ?DfDynamicRangePartitionCondition) AS T

Osvědčené postupy pro načtení dat s možností oddílu:

  • Zvolte výrazný sloupec jako sloupec oddílu (například primární klíč nebo jedinečný klíč), abyste se vyhnuli nerovnoměrné distribuci dat.
  • Pokud ke kopírování dat používáte Prostředí Azure Integration Runtime, můžete nastavit větší počet jednotek Integrace Dat (DIU) (>4) a využít tak více výpočetních prostředků. Zkontrolujte tam příslušné scénáře.
  • "Stupeň paralelismu kopírování" řídí čísla oddílů, nastavení příliš velkého čísla někdy snižuje výkon, doporučujeme nastavit toto číslo jako (DIU nebo počet uzlů místního prostředí IR) * (2 až 4).
  • Všimněte si, že Microsoft Fabric Warehouse může spustit maximálně 32 dotazů najednou. Nastavení stupně paralelismu kopírování může způsobit problém s omezováním skladu.

Příklad: Dotaz s oddílem dynamického rozsahu

"source": {
    "type": "WarehouseSource",
    "query": "SELECT * FROM <TableName> WHERE ?DfDynamicRangePartitionCondition AND <your_additional_where_clause>",
    "partitionOption": "DynamicRange",
    "partitionSettings": {
        "partitionColumnName": "<partition_column_name>",
        "partitionUpperBound": "<upper_value_of_partition_column (optional) to decide the partition stride, not as data filter>",
        "partitionLowerBound": "<lower_value_of_partition_column (optional) to decide the partition stride, not as data filter>"
    }
}

Použití příkazu COPY k načtení dat do Microsoft Fabric Warehouse

Použití příkazu COPY je jednoduchý a flexibilní způsob načítání dat do Microsoft Fabric Warehouse s vysokou propustností. Další podrobnosti získáte tak, že pomocí příkazu COPY zkontrolujete hromadná načtení dat.

  • Pokud jsou zdrojová data v Azure Blob nebo Azure Data Lake Storage Gen2 a formát je kompatibilní s příkazem COPY, můžete pomocí aktivity kopírování přímo vyvolat příkaz COPY a nechat Microsoft Fabric Warehouse načíst data ze zdroje. Podrobnosti najdete v tématu Přímé kopírování pomocí příkazu COPY.
  • Pokud vaše zdrojové úložiště dat a formát není původně podporováno příkazem COPY, použijte místo toho funkci fázované kopie pomocí funkce příkazu COPY. Funkce fázovaného kopírování také poskytuje lepší propustnost. Automaticky převede data do formátu kompatibilního s příkazem COPY, uloží data do úložiště objektů blob v Azure a potom zavolá příkaz COPY, který načte data do Microsoft Fabric Warehouse.

Tip

Při použití příkazu COPY se službou Azure Integration Runtime je efektivní jednotky Integrace Dat (DIU) vždy 2. Ladění DIU nemá vliv na výkon.

Přímé kopírování pomocí příkazu COPY

Příkaz COPY služby Microsoft Fabric Warehouse přímo podporuje Azure Blob, Azure Data Lake Storage Gen1 a Azure Data Lake Storage Gen2. Pokud zdrojová data splňují kritéria popsaná v této části, zkopírujte příkaz COPY přímo ze zdrojového úložiště dat do Microsoft Fabric Warehouse. V opačném případě použijte fázovanou kopii pomocí příkazu COPY. Služba zkontroluje nastavení a nezdaří spuštění aktivity kopírování, pokud kritéria nejsou splněna.

  • Zdrojová propojená služba a formát mají následující typy a metody ověřování:

    Podporovaný typ zdrojového úložiště dat Podporovaný formát Podporovaný typ ověřování zdroje
    Azure Blob Text s oddělovači Ověřování pomocí klíče účtu, ověřování pomocí sdíleného přístupového podpisu
      Parkety Ověřování pomocí klíče účtu, ověřování pomocí sdíleného přístupového podpisu
    Azure Data Lake Storage Gen2 Text s oddělovači
    Parkety
    Ověřování pomocí klíče účtu, ověřování pomocí sdíleného přístupového podpisu
  • Nastavení formátu jsou následující:

    • Pro Parquet: compression nesmí být komprese, Snappy nebo GZip.
    • Text s oddělovači:
      • rowDelimiter je explicitně nastaven jako jeden znak nebo \r\n, výchozí hodnota není podporována.
      • nullValue je ponechán jako výchozí nebo je nastaven na prázdný řetězec ("").
      • encodingName je ve výchozím nastavení nebo nastaven na utf-8 nebo utf-16.
      • escapeChar musí být stejný jako quoteChara není prázdný.
      • skipLineCount je ponechán jako výchozí nebo je nastaven na hodnotu 0.
      • compression nemůže být žádná komprese nebo GZip.
  • Pokud je zdrojem složka, recursive musí být aktivita kopírování nastavena na true a wildcardFilename musí být * nebo *.*.

  • wildcardFolderPath, wildcardFilename (jiné než *nebo *.*), modifiedDateTimeStart, modifiedDateTimeEnd, prefixenablePartitionDiscovery a additionalColumns nejsou zadány.

V aktivitě kopírování se podporují allowCopyCommand následující nastavení příkazu COPY:

Vlastnost Popis Povinní účastníci
defaultValues Určuje výchozí hodnoty pro každý cílový sloupec v Microsoft Fabric Warehouse. Výchozí hodnoty ve vlastnosti přepíší omezení DEFAULT nastavené v datovém skladu a sloupec identity nemůže mít výchozí hodnotu. No
additionalOptions Další možnosti, které se předají příkazu COPY skladu Microsoft Fabric přímo v klauzuli With v příkazu COPY. Podle potřeby uvozujte hodnotu tak, aby odpovídala požadavkům příkazu COPY. No
"activities":[
    {
        "name": "CopyFromAzureBlobToMicrosoftFabricWarehouseViaCOPY",
        "type": "Copy",
        "inputs": [
            {
                "referenceName": "ParquetDataset",
                "type": "DatasetReference"
            }
        ],
        "outputs": [
            {
                "referenceName": "MicrosoftFabricWarehouseDataset",
                "type": "DatasetReference"
            }
        ],
        "typeProperties": {
            "source": {
                "type": "ParquetSource",
                "storeSettings":{
                    "type": "AzureBlobStorageReadSettings",
                    "recursive": true
                }
            },
            "sink": {
                "type": "WarehouseSink",
                "allowCopyCommand": true,
                "copyCommandSettings": {
                    "defaultValues": [
                        {
                            "columnName": "col_string",
                            "defaultValue": "DefaultStringValue"
                        }
                    ],
                    "additionalOptions": {
                        "MAXERRORS": "10000",
                        "DATEFORMAT": "'ymd'"
                    }
                }
            },
            "enableSkipIncompatibleRow": true
        }
    }
]

Fázované kopírování pomocí příkazu COPY

Pokud zdrojová data nejsou nativně kompatibilní s příkazem COPY, povolte kopírování dat prostřednictvím dočasného přípravného objektu blob Azure nebo Azure Data Lake Storage Gen2 (nejde o Azure Premium Storage). V takovém případě služba automaticky převede data tak, aby splňovala požadavky na formát dat příkazu COPY. Potom vyvolá příkaz COPY, který načte data do Microsoft Fabric Warehouse. Nakonec vyčistí dočasná data z úložiště. Podrobnosti o kopírování dat prostřednictvím přípravného procesu najdete v části Fázovaná kopie .

Pokud chcete tuto funkci použít, vytvořte propojenou službu Azure Blob Storage nebo propojenou službu Azure Data Lake Storage Gen2 s klíčem účtu nebo ověřováním identit spravovanou systémem, která odkazuje na účet úložiště Azure jako dočasné úložiště.

Důležité

Důležité

Pokud je vaše přípravná služba Azure Storage nakonfigurovaná se spravovaným privátním koncovým bodem a má povolenou bránu firewall úložiště, musíte použít ověřování spravované identity a udělit službě Synapse SQL Server oprávnění čtenáře dat objektů blob služby Storage, aby se zajistilo, že bude mít přístup k fázovaným souborům během načítání příkazu COPY.

"activities":[
    {
        "name": "CopyFromSQLServerToMicrosoftFabricWarehouseViaCOPYstatement",
        "type": "Copy",
        "inputs": [
            {
                "referenceName": "SQLServerDataset",
                "type": "DatasetReference"
            }
        ],
        "outputs": [
            {
                "referenceName": "MicrosoftFabricWarehouseDataset",
                "type": "DatasetReference"
            }
        ],
        "typeProperties": {
            "source": {
                "type": "SqlSource",
            },
            "sink": {
                "type": "WarehouseSink",
                "allowCopyCommand": true
            },
            "stagingSettings": {
                "linkedServiceName": {
                    "referenceName": "MyStagingStorage",
                    "type": "LinkedServiceReference"
                }
            }
        }
    }
]

Mapování vlastností toku dat

Při transformaci dat při mapování toku dat můžete číst a zapisovat do tabulek z Microsoft Fabric Warehouse. Další informace najdete v tématu transformace zdroje a transformace jímky v mapování toků dat.

Microsoft Fabric Warehouse jako zdroj

Nastavení specifická pro Microsoft Fabric Warehouse jsou k dispozici na kartě Možnosti zdroje transformace zdroje.

Název Popis Povinní účastníci Povolené hodnoty Vlastnost skriptu toku dat
Vstup Vyberte, jestli zdroj nasměrujete na tabulku (ekvivalent select * from tablename), nebo zadáte vlastní dotaz SQL nebo načtete data z uložené procedury. Dotaz: Pokud ve vstupním poli vyberete Dotaz, zadejte dotaz SQL pro zdroj. Toto nastavení přepíše všechny tabulky, které jste zvolili v datové sadě. Klauzule Order By se tady nepodporují, ale můžete nastavit úplný příkaz SELECT FROM. Můžete také použít uživatelem definované funkce tabulek. select * from udfGetData() je UDF v SQL, který vrací tabulku. Tento dotaz vytvoří zdrojovou tabulku, kterou můžete použít ve svém toku dat. Použitídotazůch Příklad SQL: Select * from MyTable where customerId > 1000 and customerId < 2000 Ano Tabulka nebo dotaz nebo uložená procedura format: 'table'
Velikost dávky Zadejte velikost dávky pro rozdělení velkých dat do čtení. V tocích dat se toto nastavení použije k nastavení sloupcového ukládání do mezipaměti Sparku. Toto je pole možnosti, které použije výchozí hodnoty Sparku, pokud zůstane prázdné. No Číselné hodnoty batchSize: 1234
Úroveň izolace Výchozí hodnota pro zdroje SQL v mapování toku dat je nepřečtena. Úroveň izolace zde můžete změnit na jednu z těchto hodnot:• Čtení potvrzeno • Čtení bez potvrzení • Opakovatelné čtení • Serializovatelné • Žádné (ignorovat úroveň izolace) Ano • Čtení potvrzeno • Čtení nepotvrzené • Opakovatelné čtení • Serializovatelné • Žádné (ignorovat úroveň izolace) isolationLevel

Poznámka:

Čtení prostřednictvím přípravného prostředí se nepodporuje. Podpora CDC pro zdroj Microsoft Fabric Warehouse není aktuálně dostupná.

Microsoft Fabric Warehouse jako jímka

Nastavení specifická pro Microsoft Fabric Warehouse jsou k dispozici na kartě Nastavení transformace jímky.

Název Popis Povinní účastníci Povolené hodnoty Vlastnost skriptu toku dat
Metoda aktualizace Určuje, jaké operace jsou povoleny v cíli databáze. Výchozí hodnota je povolit pouze vkládání. Pokud chcete aktualizovat, upsertovat nebo odstranit řádky, je pro tyto akce potřeba transformace alter-row. Pro aktualizace, upserty a odstranění je nutné nastavit klíčový sloupec nebo sloupce, aby bylo možné určit, který řádek se má změnit. Ano true nebo false aktualizovatelná vložitelná upsertable
Akce tabulky Určuje, zda se mají před zápisem znovu vytvořit nebo odebrat všechny řádky z cílové tabulky.• Žádná: V tabulce nebude provedena žádná akce. • Znovu vytvořte: Tabulka se zahodí a znovu vytvoří. Vyžaduje se, pokud vytváříte novou tabulku dynamicky.• Zkrátí se: Odeberou se všechny řádky z cílové tabulky. No Žádná nebo znovu vytvořit nebo zkrátit opětovné vytvoření: true truncate: true
Zapnout pracovní režim Přípravné úložiště je nakonfigurované v aktivitě Execute Tok dat. Pokud pro propojenou službu úložiště používáte ověřování spravované identity, seznamte se s potřebnými konfiguracemi pro Azure Blob a Azure Data Lake Storage Gen2 . Pokud je služba Azure Storage nakonfigurovaná s koncovým bodem služby virtuální sítě, musíte pro účet úložiště použít ověřování spravované identity s povolenou možností Povolit důvěryhodnou službu Microsoftu, projděte si dopad používání koncových bodů služeb virtuální sítě s úložištěm Azure. No true nebo false staged: true
Velikost dávky Určuje, kolik řádků se píše v jednotlivých kontejnerech. Větší velikosti dávek zlepšují kompresi a optimalizaci paměti, ale při ukládání dat do mezipaměti riskují výjimky z paměti. No Číselné hodnoty batchSize: 1234
Použití schématu jímky Ve výchozím nastavení se ve schématu jímky vytvoří dočasná tabulka jako pracovní. Alternativně můžete zrušit zaškrtnutí možnosti Použít schéma jímky a místo toho ve schématu Vybrat uživatelskou databázi zadat název schématu, pod kterým Služba Data Factory vytvoří pracovní tabulku pro načtení nadřazených dat a automaticky je po dokončení vyčistí. Ujistěte se, že máte v databázi oprávnění k vytvoření tabulky, a upravte oprávnění ke schématu. No true nebo false stagingSchemaName
Skripty pre a post SQL Zadejte víceřádkové skripty SQL, které se spustí před (před zpracováním) a po (po zpracování) zapisují do databáze jímky. No Skripty SQL preSQLs:['set IDENTITY_INSERT mytable ON'] postSQLs:['set IDENTITY_INSERT mytable OFF'],

Zpracování chybového řádku

Spuštění toku dat ve výchozím nastavení selže při první chybě, která se zobrazí. Můžete se rozhodnout pokračovat v chybě, která umožňuje dokončení toku dat, i když mají jednotlivé řádky chyby. Služba poskytuje různé možnosti, jak tyto řádky chyb zpracovat.

Potvrzení transakce: Zvolte, zda se vaše data zapisuje do jedné transakce nebo v dávkách. Jedna transakce zajistí lepší výkon a ostatní nebudou vidět žádná zapsaná data, dokud se transakce nedokončí. Dávkové transakce mají horší výkon, ale můžou fungovat pro velké datové sady.

Odmítnutá data výstupu: Pokud je tato možnost povolená, můžete vypíšete řádky chyb do souboru CSV ve službě Azure Blob Storage nebo účtu Azure Data Lake Storage Gen2 podle vašeho výběru. Tím se zapíšou řádky chyb se třemi dalšími sloupci: operace SQL, jako je INSERT nebo UPDATE, kód chyby toku dat a chybová zpráva na řádku.

Nahlášení úspěchu při chybě: Pokud je tok dat povolený, označí se jako úspěšný i v případě, že jsou nalezeny řádky chyb.

Poznámka:

Pro propojenou službu Microsoft Fabric Warehouse je podporovaný typ ověřování instančního objektu "Klíč"; Ověřování certifikátem není podporováno.

Vlastnosti aktivity vyhledávání

Podrobnosti o vlastnostech najdete v aktivitě Vyhledávání.

Vlastnosti aktivity GetMetadata

Podrobnosti o vlastnostech najdete v aktivitě GetMetadata.

Mapování datových typů pro Microsoft Fabric Warehouse

Při kopírování dat z Microsoft Fabric Warehouse se následující mapování používají z datových typů Microsoft Fabric Warehouse k internímu zpracování datových typů v rámci služby. Informace o tom, jak aktivita kopírování mapuje zdrojové schéma a datový typ na jímku, najdete v tématu Mapování schématu a datového typu.

Datový typ Microsoft Fabric Warehouse Dočasný datový typ služby Data Factory
bigint Int64
binární Bajt[]
bitové Logická hodnota
char Řetězec, znak[]
datum DateTime
datetime2 DateTime
Desetinné Desetinné číslo
ATRIBUT FILESTREAM (varbinary(max)) Bajt[]
Float Hodnota s dvojitou přesností
int Int32
numerické Desetinné číslo
real Jeden
smallint Int16
čas TimeSpan
uniqueidentifier Guid
varbinary Bajt[]
varchar Řetězec, znak[]

Další kroky

Seznam úložišť dat podporovaných jako zdroje a jímky aktivitou kopírování najdete v tématu Podporované úložiště dat.