Dela via


Kopiera och transformera data i Microsoft Fabric Warehouse med Hjälp av Azure Data Factory eller Azure Synapse Analytics

GÄLLER FÖR: Azure Data Factory Azure Synapse Analytics

Dricks

Prova Data Factory i Microsoft Fabric, en allt-i-ett-analyslösning för företag. Microsoft Fabric omfattar allt från dataflytt till datavetenskap, realtidsanalys, business intelligence och rapportering. Lär dig hur du startar en ny utvärderingsversion kostnadsfritt!

Den här artikeln beskriver hur du använder kopieringsaktivitet för att kopiera data från och till Microsoft Fabric Warehouse. Mer information finns i introduktionsartikeln för Azure Data Factory eller Azure Synapse Analytics.

Funktioner som stöds

Den här Microsoft Fabric Warehouse-anslutningsappen stöds för följande funktioner:

Funktioner som stöds IR Hanterad privat slutpunkt
aktiviteten Kopiera (källa/mottagare) (1) (2)
Mappa dataflöde (källa/mottagare) (1)
Sökningsaktivitet (1) (2)
GetMetadata-aktivitet (1) (2)
Skriptaktivitet (1) (2)
Lagrad proceduraktivitet (1) (2)

(1) Azure Integration Runtime (2) Lokalt installerad integrationskörning

Kom igång

Om du vill utföra aktiviteten Kopiera med en pipeline kan du använda något av följande verktyg eller SDK:er:

Skapa en länkad Microsoft Fabric Warehouse-tjänst med hjälp av användargränssnittet

Använd följande steg för att skapa en länkad Microsoft Fabric Warehouse-tjänst i Azure Portal användargränssnittet.

  1. Bläddra till fliken Hantera i Din Azure Data Factory- eller Synapse-arbetsyta och välj Länkade tjänster och välj sedan Nytt:

  2. Sök efter Warehouse och välj anslutningsappen.

    Skärmbild som visar välj Microsoft Fabric Warehouse-anslutningsprogram.

  3. Konfigurera tjänstinformationen, testa anslutningen och skapa den nya länkade tjänsten.

    Skärmbild av konfigurationen för den länkade tjänsten Microsoft Fabric Warehouse.

Konfigurationsinformation för anslutningsprogram

Följande avsnitt innehåller information om egenskaper som används för att definiera Data Factory-entiteter som är specifika för Microsoft Fabric Warehouse.

Länkade tjänstegenskaper

Microsoft Fabric Warehouse-anslutningsappen stöder följande autentiseringstyper. Mer information finns i motsvarande avsnitt:

Tjänstens huvudautentisering

Följ dessa steg om du vill använda autentisering med tjänstens huvudnamn.

  1. Registrera ett program med Microsoft Identity-plattformen och lägg till en klienthemlighet. Anteckna sedan dessa värden som du använder för att definiera den länkade tjänsten:

    • Program-ID (klient) som är tjänstens huvudnamns-ID i den länkade tjänsten.
    • Klienthemlighetsvärde, som är tjänstens huvudnyckel i den länkade tjänsten.
    • Klientorganisations-ID
  2. Bevilja tjänstens huvudnamn minst rollen Deltagare i Microsoft Fabric-arbetsytan. Följ de här stegen:

    1. Gå till din Microsoft Fabric-arbetsyta och välj Hantera åtkomst i det övre fältet. Välj sedan Lägg till personer eller grupper.

      Skärmbild som visar hur du väljer Infrastrukturarbetsyta Hantera åtkomst.

       Skärmbild som visar fönstret Hantera åtkomst för infrastrukturarbetsyta.

    2. I fönstret Lägg till personer anger du tjänstens huvudnamn och väljer tjänstens huvudnamn i listrutan.

    3. Ange rollen som deltagare eller högre (administratör, medlem) och välj sedan Lägg till.

      Skärmbild som visar hur du lägger till arbetsyterollen Infrastruktur.

    4. Tjänstens huvudnamn visas i fönstret Hantera åtkomst .

Dessa egenskaper stöds för den länkade tjänsten:

Property Beskrivning Obligatoriskt
type Typegenskapen måste anges till Lager. Ja
slutpunkt Slutpunkten för Microsoft Fabric Warehouse-servern. Ja
workspaceId Arbetsyte-ID:t för Microsoft Fabric. Ja
artifactId Objekt-ID:t för Microsoft Fabric Warehouse. Ja
klientorganisation Ange klientinformationen (domännamn eller klient-ID) som programmet finns under. Hämta den genom att hovra musen i det övre högra hörnet av Azure Portal. Ja
servicePrincipalId Ange programmets klient-ID. Ja
servicePrincipalCredentialType Den typ av autentiseringsuppgifter som ska användas för autentisering med tjänstens huvudnamn. Tillåtna värden är ServicePrincipalKey och ServicePrincipalCert. Ja
servicePrincipalCredential Autentiseringsuppgifterna för tjänstens huvudnamn.
När du använder ServicePrincipalKey som typ av autentiseringsuppgifter anger du programmets klienthemlighetsvärde. Markera det här fältet som SecureString för att lagra det på ett säkert sätt eller referera till en hemlighet som lagras i Azure Key Vault.
När du använder ServicePrincipalCert som autentiseringsuppgifter refererar du till ett certifikat i Azure Key Vault och kontrollerar att certifikatinnehållstypen är PKCS #12.
Ja
connectVia Den integrationskörning som ska användas för att ansluta till datalagret. Du kan använda Azure Integration Runtime eller en lokalt installerad integrationskörning om ditt datalager finns i ett privat nätverk. Om det inte anges används standardkörningen för Azure-integrering. Nej

Exempel: använda nyckelautentisering för tjänstens huvudnamn

Du kan också lagra tjänstens huvudnamnsnyckel i Azure Key Vault.

{
    "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"
        }
    }
}

Egenskaper för datauppsättning

En fullständig lista över avsnitt och egenskaper som är tillgängliga för att definiera datauppsättningar finns i artikeln Datauppsättningar .

Följande egenskaper stöds för Microsoft Fabric Warehouse-datauppsättningen:

Property Beskrivning Obligatoriskt
type Datamängdens typegenskap måste anges till WarehouseTable. Ja
schema Namnet på schemat. Nej för källa, Ja för mottagare
table Namnet på tabellen/vyn. Nej för källa, Ja för mottagare

Exempel på datauppsättningsegenskaper

{
    "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>"
        }
    }
}

Kopiera egenskaper för aktivitet

En fullständig lista över avsnitt och egenskaper som är tillgängliga för att definiera aktiviteter finns i aktiviteten Kopiera konfigurationer, pipelines och aktiviteter. Det här avsnittet innehåller en lista över egenskaper som stöds av Microsoft Fabric Warehouse-källan och mottagaren.

Microsoft Fabric Warehouse som källa

Dricks

Om du vill läsa in data från Microsoft Fabric Warehouse effektivt med hjälp av datapartitionering kan du läsa mer från Parallellkopia från Microsoft Fabric Warehouse.

Om du vill kopiera data från Microsoft Fabric Warehouse anger du typegenskapen i kopieringsaktivitetskällan till WarehouseSource. Följande egenskaper stöds i avsnittet Kopieringsaktivitetskälla:

Property Beskrivning Obligatoriskt
type Typegenskapen för kopieringsaktivitetskällan måste anges till WarehouseSource. Ja
sqlReaderQuery Använd den anpassade SQL-frågan för att läsa data. Exempel: select * from MyTable. Nej
sqlReaderStoredProcedureName Namnet på den lagrade proceduren som läser data från källtabellen. Den sista SQL-instruktionen måste vara en SELECT-instruktion i den lagrade proceduren. Nej
storedProcedureParameters Parametrar för den lagrade proceduren.
Tillåtna värden är namn- eller värdepar. Namn och hölje för parametrar måste matcha namnen och höljet för de lagrade procedureparametrarna.
Nej
queryTimeout Anger tidsgränsen för körning av frågekommandon. Standardvärdet är 120 minuter. Nej
isolationLevel Anger transaktionslåsningsbeteendet för SQL-källan. Det tillåtna värdet är Ögonblicksbild. Om den inte anges används databasens standardisoleringsnivå. Mer information finns i system.data.isolationlevel. Nej
partitionOptions Anger de datapartitioneringsalternativ som används för att läsa in data från Microsoft Fabric Warehouse.
Tillåtna värden är: Ingen (standard) och DynamicRange.
När ett partitionsalternativ är aktiverat (dvs. inte None) styrs graden av parallellitet för samtidig inläsning av data från ett Microsoft Fabric Warehouse av parallelCopies inställningen för kopieringsaktiviteten.
Nej
partitionSettings Ange gruppen med inställningarna för datapartitionering.
Använd när partitionsalternativet inte Noneär .
Nej
Under partitionSettings:
partitionColumnName Ange namnet på källkolumnen i heltal eller datum/datetime-typ (int, , bigintsmallint, date, datetime2) som ska användas av intervallpartitionering för parallell kopiering. Om det inte anges identifieras indexet eller den primära nyckeln i tabellen automatiskt och används som partitionskolumn.
Använd när partitionsalternativet är DynamicRange. Om du använder en fråga för att hämta källdata kopplar ?DfDynamicRangePartitionCondition du in WHERE-satsen. Ett exempel finns i avsnittet Parallell kopia från Microsoft Fabric Warehouse .
Nej
partitionUpperBound Det maximala värdet för partitionskolumnen för partitionsintervalldelning. Det här värdet används för att bestämma partitionssteget, inte för att filtrera raderna i tabellen. Alla rader i tabellen eller frågeresultatet partitioneras och kopieras. Om det inte anges identifierar kopieringsaktivitet automatiskt värdet.
Använd när partitionsalternativet är DynamicRange. Ett exempel finns i avsnittet Parallell kopia från Microsoft Fabric Warehouse .
Nej
partitionLowerBound Minimivärdet för partitionskolumnen för partitionsintervalldelning. Det här värdet används för att bestämma partitionssteget, inte för att filtrera raderna i tabellen. Alla rader i tabellen eller frågeresultatet partitioneras och kopieras. Om det inte anges identifierar kopieringsaktivitet automatiskt värdet.
Använd när partitionsalternativet är DynamicRange. Ett exempel finns i avsnittet Parallell kopia från Microsoft Fabric Warehouse .
Nej

Kommentar

När du använder lagrad procedur i källan för att hämta data bör du tänka på att om den lagrade proceduren är utformad som att returnera ett annat schema när ett annat parametervärde skickas in, kan det uppstå ett fel eller ett oväntat resultat när du importerar schemat från användargränssnittet eller när du kopierar data till Microsoft Fabric Warehouse med automatisk tabellskapande.

Exempel: använda SQL-fråga

"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>"
            }
        }
    }
]

Exempel: använda lagrad procedur

"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>"
            }
        }
    }
]

Exempel på lagrad procedur:

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 som en mottagartyp

Azure Data Factory- och Synapse-pipelines stöder använda COPY-instruktion för att läsa in data till Microsoft Fabric Warehouse.

Om du vill kopiera data till Microsoft Fabric Warehouse anger du mottagartypen i Kopiera aktivitet till WarehouseSink. Följande egenskaper stöds i avsnittet Kopieringsaktivitetsmottagare:

Property Beskrivning Obligatoriskt
type Typegenskapen för kopieringsaktivitetsmottagaren måste anges till WarehouseSink. Ja
allowCopyCommand Anger om du vill använda COPY-instruktionen för att läsa in data till Microsoft Fabric Warehouse.

Mer information finns i Använda COPY-instruktion för att läsa in data i Microsoft Fabric Warehouse .

Det tillåtna värdet är Sant.
Ja
copyCommandSettings En grupp med egenskaper som kan anges när allowCopyCommand egenskapen är inställd på TRUE. Nej
writeBatchTimeout Den här egenskapen anger väntetiden för att åtgärden infoga, upsert och lagrad procedur ska slutföras innan tidsgränsen uppnås.

Tillåtna värden är för tidsintervallet. Ett exempel är "00:30:00" i 30 minuter. Om inget värde anges är tidsgränsen som standard "00:30:00"
Nej
preCopyScript Ange en SQL-fråga för kopieringsaktivitet som ska köras innan du skriver data till Microsoft Fabric Warehouse i varje körning. Använd den här egenskapen för att rensa inlästa data. Nej
tableOption Anger om mottagartabellen ska skapas automatiskt om den inte finns baserat på källschemat. Tillåtna värden är: none (standard), autoCreate. Nej
disableMetricsCollection Tjänsten samlar in mått för optimering och rekommendationer för kopieringsprestanda, vilket ger ytterligare åtkomst till huvuddatabasen. Om du är intresserad av det här beteendet anger du true för att inaktivera det. Nej (standard är false)

Exempel: Microsoft Fabric Warehouse-mottagare

"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
            }
        }
    }
]

Parallellkopiering från Microsoft Fabric Warehouse

Microsoft Fabric Warehouse-anslutningsappen i kopieringsaktiviteten tillhandahåller inbyggd datapartitionering för att kopiera data parallellt. Du hittar alternativ för datapartitionering på fliken Källa i kopieringsaktiviteten.

Skärmbild av partitionsalternativ

När du aktiverar partitionerad kopiering kör kopieringsaktiviteten parallella frågor mot din Microsoft Fabric Warehouse-källa för att läsa in data efter partitioner. Den parallella graden styrs av parallelCopies inställningen för kopieringsaktiviteten. Om du till exempel anger parallelCopies till fyra genererar och kör tjänsten samtidigt fyra frågor baserat på ditt angivna partitionsalternativ och inställningar, och varje fråga hämtar en del av data från ditt Microsoft Fabric Warehouse.

Du rekommenderas att aktivera parallell kopiering med datapartitionering, särskilt när du läser in stora mängder data från Ditt Microsoft Fabric Warehouse. Följande är föreslagna konfigurationer för olika scenarier. När du kopierar data till filbaserat datalager rekommenderar vi att du skriver till en mapp som flera filer (anger endast mappnamn), i vilket fall prestandan är bättre än att skriva till en enda fil.

Scenario Föreslagna inställningar
Fullständig belastning från en stor tabell, med ett heltal eller en datetime-kolumn för datapartitionering. Partitionsalternativ: Partition med dynamiskt intervall.
Partitionskolumn (valfritt): Ange den kolumn som används för att partitionera data. Om det inte anges används index- eller primärnyckelkolumnen.
Partitionens övre gräns och partitionens nedre gräns (valfritt): Ange om du vill fastställa partitionssteget. Detta gäller inte för filtrering av raderna i tabellen, och alla rader i tabellen partitioneras och kopieras. Om det inte anges identifierar kopieringsaktiviteten värdena automatiskt.

Om partitionskolumnen "ID" till exempel har värden mellan 1 och 100 och du anger den nedre gränsen som 20 och den övre gränsen som 80, med parallell kopia som 4, hämtar tjänsten data med 4 partitioner – ID:n i intervallet <=20, [21, 50], [51, 80] >respektive =81.
Läs in en stor mängd data med hjälp av en anpassad fråga, med ett heltal eller en datum/datetime-kolumn för datapartitionering. Partitionsalternativ: Partition med dynamiskt intervall.
Fråga: SELECT * FROM <TableName> WHERE ?DfDynamicRangePartitionCondition AND <your_additional_where_clause>.
Partitionskolumn: Ange den kolumn som används för att partitionera data.
Partitionens övre gräns och partitionens nedre gräns (valfritt): Ange om du vill fastställa partitionssteget. Detta är inte för att filtrera raderna i tabellen, och alla rader i frågeresultatet partitioneras och kopieras. Om det inte anges identifierar kopieringsaktivitet automatiskt värdet.

Om partitionskolumnen "ID" till exempel har värden mellan 1 och 100 och du anger den nedre gränsen som 20 och den övre gränsen som 80, med parallell kopia som 4, hämtar tjänsten data med 4 partitioner – ID:n i intervallet <=20, [21, 50], [51, 80] >respektive =81.

Här är fler exempelfrågor för olika scenarier:
1. Fråga hela tabellen:
SELECT * FROM <TableName> WHERE ?DfDynamicRangePartitionCondition
2. Fråga från en tabell med kolumnval och ytterligare where-clause-filter:
SELECT <column_list> FROM <TableName> WHERE ?DfDynamicRangePartitionCondition AND <your_additional_where_clause>
3. Fråga med underfrågor:
SELECT <column_list> FROM (<your_sub_query>) AS T WHERE ?DfDynamicRangePartitionCondition AND <your_additional_where_clause>
4. Fråga med partition i underfrågor:
SELECT <column_list> FROM (SELECT <your_sub_query_column_list> FROM <TableName> WHERE ?DfDynamicRangePartitionCondition) AS T

Metodtips för att läsa in data med partitionsalternativet:

  • Välj distinkt kolumn som partitionskolumn (till exempel primärnyckel eller unik nyckel) för att undvika datasnedvridning.
  • Om du använder Azure Integration Runtime för att kopiera data kan du ange större "Dataintegration Units (DIU)" (>4) för att använda mer databehandlingsresurser. Kontrollera tillämpliga scenarier där.
  • "Grad av kopieringsparallellitet" styr partitionsnumren, anger det här talet för stort ibland skadar prestandan, rekommenderar att du anger det här talet som (DIU eller antalet lokalt installerade IR-noder) * (2 till 4).
  • Observera att Microsoft Fabric Warehouse kan köra högst 32 frågor i taget, och om du anger "Grad av kopieringsparallellitet" för stor kan det orsaka ett problem med lagerbegränsning.

Exempel: fråga med partition för dynamiskt intervall

"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>"
    }
}

Använda COPY-instruktion för att läsa in data till Microsoft Fabric Warehouse

Att använda COPY-instruktionen är ett enkelt och flexibelt sätt att läsa in data till Microsoft Fabric Warehouse med högt dataflöde. Mer information finns i Massinläsningsdata med copy-instruktionen

  • Om dina källdata finns i Azure Blob eller Azure Data Lake Storage Gen2 och formatet är COPY-instruktionskompatibelt kan du använda kopieringsaktivitet för att direkt anropa COPY-instruktionen så att Microsoft Fabric Warehouse kan hämta data från källan. Mer information finns i Direct copy by using COPY statement (Direktkopiering med copy-instruktion).
  • Om källdatalagret och formatet inte ursprungligen stöds av COPY-instruktionen använder du funktionen Mellanlagrad kopia med hjälp av copy-instruktionsfunktionen i stället. Den mellanlagrade kopieringsfunktionen ger dig också bättre dataflöde. Data konverteras automatiskt till copy-instruktionskompatibelt format, lagrar data i Azure Blob Storage och anropar sedan COPY-instruktionen för att läsa in data till Microsoft Fabric Warehouse.

Dricks

När du använder COPY-instruktionen med Azure Integration Runtime är effektiv Dataintegration enheter (DIU) alltid 2. Justering av DIU påverkar inte prestanda.

Direktkopiering med copy-instruktion

Microsoft Fabric Warehouse COPY-instruktionen har direkt stöd för Azure Blob, Azure Data Lake Storage Gen1 och Azure Data Lake Storage Gen2. Om dina källdata uppfyller kriterierna som beskrivs i det här avsnittet använder du COPY-instruktionen för att kopiera direkt från källdatalagret till Microsoft Fabric Warehouse. Annars använder du stegvis kopiering med hjälp av COPY-instruktionen. Tjänsten kontrollerar inställningarna och misslyckas med kopieringsaktiviteten om villkoret inte uppfylls.

  • Den länkade källtjänsten och formatet är med följande typer och autentiseringsmetoder:

    Typ av källdatalager som stöds Format som stöds Typ av källautentisering som stöds
    Azure Blob Avgränsad text Kontonyckelautentisering, signaturautentisering för delad åtkomst
      Parkettgolv Kontonyckelautentisering, signaturautentisering för delad åtkomst
    Azure Data Lake Storage Gen2 Avgränsad text
    Parkettgolv
    Kontonyckelautentisering, signaturautentisering för delad åtkomst
  • Formatinställningarna är med följande:

    • För Parquet: compression kan inte vara någon komprimering, Snappy eller GZip.
    • För avgränsad text:
      • rowDelimiter anges uttryckligen som ett enskilt tecken eller "\r\n" stöds inte standardvärdet.
      • nullValue är kvar som standard eller inställd på tom sträng ("").
      • encodingName är kvar som standard eller inställd på utf-8 eller utf-16.
      • escapeChar måste vara samma som quoteCharoch är inte tom.
      • skipLineCount lämnas som standard eller anges till 0.
      • compression kan inte vara någon komprimering eller GZip.
  • Om källan är en mapp recursive måste kopieringsaktiviteten vara inställd på true och wildcardFilename måste vara * eller *.*.

  • wildcardFolderPath, wildcardFilename (annat än *eller *.*), modifiedDateTimeStart, modifiedDateTimeEnd, , enablePartitionDiscovery prefixoch additionalColumns har inte angetts.

Följande COPY-instruktionsinställningar stöds under allowCopyCommand i kopieringsaktiviteten:

Property Beskrivning Obligatoriskt
defaultValues Anger standardvärdena för varje målkolumn i Microsoft Fabric Warehouse. Standardvärdena i egenskapen skriver över standardvillkorsuppsättningen i informationslagret och identitetskolumnen kan inte ha ett standardvärde. Nej
additionalOptions Ytterligare alternativ som skickas till en Microsoft Fabric Warehouse COPY-instruktion direkt i "With"-satsen i COPY-instruktionen. Ange värdet efter behov för att justera kraven för COPY-instruktionen. Nej
"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
        }
    }
]

Mellanlagrad kopia med copy-instruktion

När dina källdata inte är internt kompatibla med COPY-instruktionen aktiverar du datakopiering via en mellanlagring av Azure Blob eller Azure Data Lake Storage Gen2 (det kan inte vara Azure Premium Storage). I det här fallet konverterar tjänsten automatiskt data för att uppfylla dataformatkraven för COPY-instruktionen. Sedan anropas COPY-instruktionen för att läsa in data till Microsoft Fabric Warehouse. Slutligen rensas dina tillfälliga data från lagringen. Mer information om hur du kopierar data via en mellanlagring finns i Mellanlagrad kopia .

Om du vill använda den här funktionen skapar du en länkad Azure Blob Storage-tjänst eller en länkad Azure Data Lake Storage Gen2-tjänst med kontonyckel eller systemhanterad identitetsautentisering som refererar till Azure Storage-kontot som tillfällig lagring.

Viktigt!

  • När du använder hanterad identitetsautentisering för din länkade mellanlagringstjänst får du lära dig de konfigurationer som behövs för Azure Blob respektive Azure Data Lake Storage Gen2 .
  • Om din mellanlagring av Azure Storage har konfigurerats med VNet-tjänstslutpunkten måste du använda hanterad identitetsautentisering med "tillåt betrodd Microsoft-tjänst" aktiverad på lagringskontot. Se Effekten av att använda VNet-tjänstslutpunkter med Azure Storage.

Viktigt!

Om din mellanlagring av Azure Storage har konfigurerats med en hanterad privat slutpunkt och lagringsbrandväggen är aktiverad måste du använda hanterad identitetsautentisering och ge Storage Blob Data Reader behörighet till Synapse SQL Server för att säkerställa att den kan komma åt mellanlagrade filer under kopieringssatsens inläsning.

"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"
                }
            }
        }
    }
]

Mappa dataflödesegenskaper

När du transformerar data i dataflödet för mappning kan du läsa och skriva till tabeller från Microsoft Fabric Warehouse. Mer information finns i källtransformering och mottagartransformation i mappning av dataflöden.

Microsoft Fabric Warehouse som källa

Inställningar som är specifika för Microsoft Fabric Warehouse finns på fliken Källalternativ i källtransformeringen.

Name beskrivning Obligatoriskt Tillåtna värden Egenskap för dataflödesskript
Indata Välj om du pekar källan i en tabell (motsvarande Välj * från tabellnamn) eller ange en anpassad SQL-fråga eller hämta data från en lagrad procedur. Fråga: Om du väljer Fråga i indatafältet anger du en SQL-fråga för källan. Den här inställningen åsidosätter alla tabeller som du har valt i datauppsättningen. Order By-satser stöds inte här, men du kan ange en fullständig SELECT FROM-instruktion. Du kan också använda användardefinierade tabellfunktioner. select * from udfGetData() är en UDF i SQL som returnerar en tabell. Den här frågan skapar en källtabell som du kan använda i ditt dataflöde. Att använda frågor är också ett bra sätt att minska antalet rader för testning eller sökning. SQL-exempel: Select * from MyTable where customerId > 1000 and customerId < 2000 Ja Tabell eller fråga eller lagrad procedur format: "table"
Batchstorlek Ange en batchstorlek för att segmentera stora data i läsningar. I dataflöden används den här inställningen för att ange Cachelagring av Spark-kolumner. Det här är ett alternativfält som använder Spark-standardvärden om det lämnas tomt. Nej Numeriska värden batchSize: 1234
Isoleringsnivå Standardvärdet för SQL-källor i mappning av dataflöde är skrivskyddat. Du kan ändra isoleringsnivån här till något av dessa värden:• Läs bekräftad • Läs ej bekräftad • Upprepad läsning • Serialiserbar • Ingen (ignorera isoleringsnivå) Ja • Läs bekräftad • Läs ej bekräftad • Repeterbar läsning • Serialiserbar • Ingen (ignorera isoleringsnivå) isolationLevel

Kommentar

Läsning via mellanlagring stöds inte. CDC-stöd för Microsoft Fabric Warehouse-källan är för närvarande inte tillgängligt.

Microsoft Fabric Warehouse som mottagare

Inställningar som är specifika för Microsoft Fabric Warehouse finns på fliken Inställningar i mottagartransformeringen.

Name beskrivning Obligatoriskt Tillåtna värden Egenskap för dataflödesskript
Uppdatera metod Avgör vilka åtgärder som tillåts på databasmålet. Standardvärdet är att endast tillåta infogningar. För att uppdatera, uppdatera eller ta bort rader krävs en ändringsradstransformering för att tagga rader för dessa åtgärder. För uppdateringar, upserts och borttagningar måste en nyckelkolumn eller kolumner anges för att avgöra vilken rad som ska ändras. Ja sant eller falskt infogningsbar borttagningsbar uppdateringsbar upsertable
Tabellåtgärd Avgör om du vill återskapa eller ta bort alla rader från måltabellen innan du skriver.• Ingen: Ingen åtgärd görs i tabellen. • Återskapa: Tabellen tas bort och återskapas. Krävs om du skapar en ny tabell dynamiskt.• Trunkera: Alla rader från måltabellen tas bort. Nej Ingen eller återskapa eller trunkera återskapa: true truncate: true
Aktivera mellanlagring Mellanlagringen konfigureras i Kör Dataflöde aktivitet. När du använder hanterad identitetsautentisering för den länkade lagringstjänsten får du lära dig de konfigurationer som behövs för Azure Blob respektive Azure Data Lake Storage Gen2 . Om Azure Storage har konfigurerats med VNet-tjänstslutpunkten måste du använda hanterad identitetsautentisering med "tillåt betrodd Microsoft-tjänst" aktiverad på lagringskontot, se Påverkan av att använda VNet-tjänstslutpunkter med Azure Storage. Nej sant eller falskt mellanlagrad: sant
Batchstorlek Styr hur många rader som skrivs i varje bucket. Större batchstorlekar förbättrar komprimering och minnesoptimering, men riskerar att få slut på minnesfel vid cachelagring av data. Nej Numeriska värden batchSize: 1234
Använda mottagarschema Som standard skapas en tillfällig tabell under mottagarschemat som mellanlagring. Du kan också avmarkera alternativet Använd mottagarschema och i stället i Välj user DB-schema anger du ett schemanamn under vilket Data Factory skapar en mellanlagringstabell för att läsa in överordnade data och automatiskt rensa dem när de är klara. Kontrollera att du har behörigheten skapa tabell i databasen och ändra behörigheten för schemat. Nej sant eller falskt stagingSchemaName
Pre- och Post SQL-skript Ange SQL-skript med flera rader som ska köras före (förbearbetning) och efter att (efterbearbetning) data har skrivits till din mottagardatabas Nej SQL-skript preSQLs:['set IDENTITY_INSERT mytable ON'] postSQLs:['set IDENTITY_INSERT mytable OFF'],

Felhantering av poster

Som standard misslyckas en dataflödeskörning på det första felet som den får. Du kan välja Att fortsätta vid fel som gör att dataflödet kan slutföras även om enskilda rader har fel. Tjänsten innehåller olika alternativ för att hantera dessa felrader.

Transaktionsincheckning: Välj om dina data ska skrivas i en enda transaktion eller i batchar. En enskild transaktion ger bättre prestanda och inga skrivna data visas för andra förrän transaktionen har slutförts. Batch-transaktioner har sämre prestanda men kan fungera för stora datamängder.

Utdata avvisade data: Om aktiverad kan du mata ut felraderna till en csv-fil i Azure Blob Storage eller ett Azure Data Lake Storage Gen2-konto som du väljer. Då skrivs felraderna med tre ytterligare kolumner: SQL-åtgärden som INSERT eller UPDATE, dataflödesfelkoden och felmeddelandet på raden.

Rapportera lyckat fel: Om det är aktiverat markeras dataflödet som ett lyckat resultat även om felrader hittas.

Kommentar

För Microsoft Fabric Warehouse Linked Service är den autentiseringstyp som stöds för tjänstens huvudnamn "Nyckel"; Autentisering med certifikat stöds inte.

Egenskaper för uppslagsaktivitet

Mer information om egenskaperna finns i Sökningsaktivitet.

Egenskaper för GetMetadata-aktivitet

Mer information om egenskaperna finns i GetMetadata-aktivitet

Datatypsmappning för Microsoft Fabric Warehouse

När du kopierar data från Microsoft Fabric Warehouse används följande mappningar från Microsoft Fabric Warehouse-datatyper till mellanliggande datatyper inom tjänsten internt. Information om hur kopieringsaktiviteten mappar källschemat och datatypen till mottagaren finns i Mappningar av schema- och datatyper.

Microsoft Fabric Warehouse-datatyp Data Factory interim datatyp
bigint Int64
binary Byte[]
bit Booleskt
char Sträng, tecken[]
datum Datum/tid
datetime2 Datum/tid
Decimal Decimal
FILESTREAM-attribut (varbinary(max)) Byte[]
Flyttal Dubbel
heltal Int32
numeric Decimal
real Enstaka
smallint Int16
time TimeSpan
uniqueidentifier GUID
varbinary Byte[]
varchar Sträng, tecken[]

Nästa steg

En lista över datalager som stöds som källor och mottagare av kopieringsaktiviteten finns i Datalager som stöds.