Gegevens kopiëren en transformeren in Microsoft Fabric Warehouse met behulp van Azure Data Factory of Azure Synapse Analytics

VAN TOEPASSING OP: Azure Data Factory Azure Synapse Analytics

Tip

Probeer Data Factory uit in Microsoft Fabric, een alles-in-één analyseoplossing voor ondernemingen. Microsoft Fabric omvat alles, van gegevensverplaatsing tot gegevenswetenschap, realtime analyses, business intelligence en rapportage. Meer informatie over het gratis starten van een nieuwe proefversie .

In dit artikel wordt beschreven hoe u kopieeractiviteit gebruikt om gegevens van en naar Microsoft Fabric Warehouse te kopiëren. Lees het inleidende artikel voor Azure Data Factory of Azure Synapse Analytics voor meer informatie.

Ondersteunde mogelijkheden

Deze Microsoft Fabric Warehouse-connector wordt ondersteund voor de volgende mogelijkheden:

Ondersteunde mogelijkheden IR Beheerd privé-eindpunt
Copy-activiteit (bron/sink) (1) (2)
Activiteit Lookup (1) (2)
GetMetadata-activiteit (1) (2)
Scriptactiviteit (1) (2)
Opgeslagen procedureactiviteit (1) (2)

(1) Azure Integration Runtime (2) Zelf-hostende Integration Runtime

Aan de slag

Als u de kopieeractiviteit wilt uitvoeren met een pijplijn, kunt u een van de volgende hulpprogramma's of SDK's gebruiken:

Een gekoppelde Microsoft Fabric Warehouse-service maken met behulp van de gebruikersinterface

Gebruik de volgende stappen om een gekoppelde Microsoft Fabric Warehouse-service te maken in de gebruikersinterface van Azure Portal.

  1. Blader naar het tabblad Beheren in uw Azure Data Factory- of Synapse-werkruimte en selecteer Gekoppelde services en selecteer vervolgens Nieuw:

  2. Zoek naar Warehouse en selecteer de connector.

    Schermopname van de microsoft Fabric Warehouse-connector.

  3. Configureer de servicedetails, test de verbinding en maak de nieuwe gekoppelde service.

    Schermopname van de configuratie voor gekoppelde Microsoft Fabric Warehouse-service.

configuratiedetails Verbinding maken or

De volgende secties bevatten details over eigenschappen die worden gebruikt voor het definiëren van Data Factory-entiteiten die specifiek zijn voor Microsoft Fabric Warehouse.

Eigenschappen van gekoppelde service

De Microsoft Fabric Warehouse-connector ondersteunt de volgende verificatietypen. Zie de bijbehorende secties voor meer informatie:

Verificatie van service-principal

Volg deze stappen om verificatie van de service-principal te gebruiken.

  1. Registreer een toepassing bij het Microsoft Identity Platform en voeg een clientgeheim toe. Noteer daarna deze waarden, die u gebruikt om de gekoppelde service te definiëren:

    • Toepassings-id (client), de id van de service-principal in de gekoppelde service.
    • Waarde van clientgeheim, de sleutel van de service-principal in de gekoppelde service.
    • Tenant-id
  2. Verdeel de service-principal ten minste de rol Inzender in de Microsoft Fabric-werkruimte. Volg vervolgens deze stappen:

    1. Ga naar uw Microsoft Fabric-werkruimte en selecteer Toegang beheren op de bovenste balk. Selecteer Vervolgens Personen of groepen toevoegen.

      Schermopname van het selecteren van de infrastructuurwerkruimte Toegang beheren.

       Schermopname van het deelvenster Toegang beheren in de infrastructuurwerkruimte.

    2. Voer in het deelvenster Personen toevoegen de naam van uw service-principal in en selecteer uw service-principal in de vervolgkeuzelijst.

    3. Geef de rol op als inzender of hoger (Beheer lid) en selecteer vervolgens Toevoegen.

      Schermopname van het toevoegen van de rol Fabric-werkruimte.

    4. Uw service-principal wordt weergegeven in het deelvenster Toegang beheren.

Deze eigenschappen worden ondersteund voor de gekoppelde service:

Eigenschappen Beschrijving Vereist
type De eigenschap Type moet worden ingesteld op Warehouse. Ja
endpoint Het eindpunt van de Microsoft Fabric Warehouse-server. Ja
workspaceId De werkruimte-id van Microsoft Fabric. Ja
artifactId De object-id van Het Microsoft Fabric Warehouse. Ja
AD-tenant Geef de tenantgegevens (domeinnaam of tenant-id) op waaronder uw toepassing zich bevindt. Haal deze op door de muis in de rechterbovenhoek van Azure Portal te bewegen. Ja
servicePrincipalId Geef de client-id van de toepassing op. Ja
servicePrincipalCredentialType Het referentietype dat moet worden gebruikt voor verificatie van de service-principal. Toegestane waarden zijn ServicePrincipalKey en ServicePrincipalCert. Ja
servicePrincipalCredential De referenties van de service-principal.
Wanneer u ServicePrincipalKey als referentietype gebruikt, geeft u de waarde van het clientgeheim van de toepassing op. Markeer dit veld als SecureString om het veilig op te slaan of verwijs naar een geheim dat is opgeslagen in Azure Key Vault.
Wanneer u ServicePrincipalCert als referentie gebruikt, verwijst u naar een certificaat in Azure Key Vault en zorgt u ervoor dat het certificaatinhoudstype PKCS #12 is.
Ja
connectVia De Integration Runtime die moet worden gebruikt om verbinding te maken met het gegevensarchief. U kunt de Azure Integration Runtime of een zelf-hostende Integration Runtime gebruiken als uw gegevensarchief zich in een particulier netwerk bevindt. Als dit niet is opgegeven, wordt de standaard Azure Integration Runtime gebruikt. Nee

Voorbeeld: verificatie van de service-principalsleutel gebruiken

U kunt ook een service-principalsleutel opslaan in 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"
        }
    }
}

Eigenschappen van gegevensset

Zie het artikel Gegevenssets voor een volledige lijst met secties en eigenschappen die beschikbaar zijn voor het definiëren van gegevenssets .

De volgende eigenschappen worden ondersteund voor microsoft Fabric Warehouse-gegevensset:

Eigenschappen Beschrijving Vereist
type De typeeigenschap van de gegevensset moet worden ingesteld op WarehouseTable. Ja
schema Naam van het schema. Nee voor bron, Ja voor sink
table Naam van de tabel/weergave. Nee voor bron, Ja voor sink

Voorbeeld van gegevensseteigenschappen

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

Eigenschappen van de kopieeractiviteit

Zie Copy-activiteit configuraties en pijplijnen en activiteiten voor een volledige lijst met secties en eigenschappen die beschikbaar zijn voor het definiëren van activiteiten. Deze sectie bevat een lijst met eigenschappen die worden ondersteund door de bron en sink van Microsoft Fabric Warehouse.

Microsoft Fabric Warehouse als bron

Tip

Als u gegevens efficiënt wilt laden vanuit Microsoft Fabric Warehouse met behulp van gegevenspartitionering, vindt u meer informatie over parallelle kopie vanuit Microsoft Fabric Warehouse.

Als u gegevens uit Microsoft Fabric Warehouse wilt kopiëren, stelt u de typeeigenschap in de bron kopieeractiviteit in op WarehouseSource. De volgende eigenschappen worden ondersteund in de sectie Bron van kopieeractiviteit:

Eigenschappen Beschrijving Vereist
type De typeeigenschap van de bron van de kopieeractiviteit moet worden ingesteld op WarehouseSource. Ja
sqlReaderQuery Gebruik de aangepaste SQL-query om gegevens te lezen. Voorbeeld: select * from MyTable. Nee
sqlReaderStoredProcedureName De naam van de opgeslagen procedure waarmee gegevens uit de brontabel worden gelezen. De laatste SQL-instructie moet een SELECT-instructie zijn in de opgeslagen procedure. Nee
storedProcedureParameters Parameters voor de opgeslagen procedure.
Toegestane waarden zijn naam- of waardeparen. Namen en hoofdletters van parameters moeten overeenkomen met de namen en hoofdletters van de opgeslagen procedureparameters.
Nee
queryTimeout Hiermee geeft u de time-out voor het uitvoeren van queryopdrachten. De standaardwaarde is 120 minuten. Nee
isolationLevel Hiermee geeft u het gedrag voor transactievergrendeling voor de SQL-bron op. De toegestane waarde is Momentopname. Als dit niet is opgegeven, wordt het standaardisolatieniveau van de database gebruikt. Zie system.data.isolationlevel voor meer informatie. Nee
partitionOptions Hiermee geeft u de opties voor gegevenspartitionering op die worden gebruikt voor het laden van gegevens uit Microsoft Fabric Warehouse.
Toegestane waarden zijn: Geen (standaard) en DynamicRange.
Wanneer een partitieoptie is ingeschakeld (dat wil niet None), wordt de mate van parallelle uitvoering om gegevens uit een Microsoft Fabric Warehouse gelijktijdig te laden, bepaald door de parallelCopies instelling voor de kopieeractiviteit.
Nee
partitie Instellingen Geef de groep van de instellingen voor gegevenspartitionering op.
Toepassen wanneer de partitieoptie niet Noneis.
Nee
Onder partitionSettings:
partitionColumnName Geef de naam op van de bronkolom in geheel getal of datum/datum/tijd (int, smallintbigint, date, ) datetime2die wordt gebruikt door bereikpartitionering voor parallelle kopie. Als deze niet is opgegeven, wordt de index of de primaire sleutel van de tabel automatisch gedetecteerd en gebruikt als de partitiekolom.
Toepassen wanneer de partitieoptie is DynamicRange. Als u een query gebruikt om de brongegevens op te halen, koppelt u deze ?DfDynamicRangePartitionCondition aan de WHERE-component. Zie de sectie Parallel kopiëren uit Microsoft Fabric Warehouse voor een voorbeeld.
Nee
partitionUpperBound De maximumwaarde van de partitiekolom voor het splitsen van partitiebereiken. Deze waarde wordt gebruikt om de partitie-onderdrukking te bepalen, niet voor het filteren van de rijen in de tabel. Alle rijen in de tabel of het queryresultaat worden gepartitioneerd en gekopieerd. Als dit niet is opgegeven, detecteert kopieeractiviteit automatisch de waarde.
Toepassen wanneer de partitieoptie is DynamicRange. Zie de sectie Parallel kopiëren uit Microsoft Fabric Warehouse voor een voorbeeld.
Nee
partitionLowerBound De minimale waarde van de partitiekolom voor het splitsen van partitiebereiken. Deze waarde wordt gebruikt om de partitie-onderdrukking te bepalen, niet voor het filteren van de rijen in de tabel. Alle rijen in de tabel of het queryresultaat worden gepartitioneerd en gekopieerd. Als dit niet is opgegeven, detecteert kopieeractiviteit automatisch de waarde.
Toepassen wanneer de partitieoptie is DynamicRange. Zie de sectie Parallel kopiëren uit Microsoft Fabric Warehouse voor een voorbeeld.
Nr.

Notitie

Wanneer u opgeslagen procedure in de bron gebruikt om gegevens op te halen, moet u er rekening mee houden dat uw opgeslagen procedure is ontworpen als het retourneren van een ander schema wanneer een andere parameterwaarde wordt doorgegeven, mogelijk een fout optreedt of onverwacht resultaat ziet bij het importeren van het schema uit de gebruikersinterface of bij het kopiëren van gegevens naar Microsoft Fabric Warehouse met automatisch maken van tabellen.

Voorbeeld: SQL-query gebruiken

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

Voorbeeld: opgeslagen procedure gebruiken

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

Voorbeeld van opgeslagen procedure:

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 als sinktype

Azure Data Factory- en Synapse-pijplijnen ondersteunen copy-instructie gebruiken om gegevens in Microsoft Fabric Warehouse te laden.

Als u gegevens naar Microsoft Fabric Warehouse wilt kopiëren, stelt u het sinktype in Kopieeractiviteit in op WarehouseSink. De volgende eigenschappen worden ondersteund in de sectie Sink voor kopieeractiviteit:

Eigenschappen Beschrijving Vereist
type De typeeigenschap van de sink van de kopieeractiviteit moet worden ingesteld op WarehouseSink. Ja
allowCopyCommand Geeft aan of u de COPY-instructie gebruikt om gegevens te laden in Microsoft Fabric Warehouse.

Zie copy-instructie gebruiken om gegevens te laden in de sectie Microsoft Fabric Warehouse voor beperkingen en details.

De toegestane waarde is Waar.
Ja
copyCommand Instellingen Een groep eigenschappen die kan worden opgegeven wanneer allowCopyCommand de eigenschap is ingesteld op TRUE. Nee
writeBatchTimeout Met deze eigenschap geeft u de wachttijd op voor de invoegbewerking, upsert en opgeslagen procedure die moet worden voltooid voordat er een time-out optreedt.

Toegestane waarden zijn voor de periode. Een voorbeeld is '00:30:00' gedurende 30 minuten. Als er geen waarde is opgegeven, wordt de time-out standaard ingesteld op '00:30:00'
Nee
preCopyScript Geef in elke uitvoering een SQL-query op voor kopieeractiviteit die moet worden uitgevoerd voordat u gegevens naar Microsoft Fabric Warehouse schrijft. Gebruik deze eigenschap om de vooraf geladen gegevens op te schonen. Nee
tableOption Hiermee geeft u op of de sinktabel automatisch moet worden gemaakt als deze niet bestaat op basis van het bronschema. Toegestane waarden zijn: none (standaard), autoCreate. Nee
disableMetricsCollection De service verzamelt metrische gegevens voor optimalisatie van kopieerprestaties en aanbevelingen, waardoor extra toegang tot hoofddatabases wordt geïntroduceerd. Als u zich zorgen maakt over dit gedrag, geeft u true op om dit uit te schakelen. Nee (standaard is false)

Voorbeeld: Sink voor 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
            }
        }
    }
]

Parallel kopiëren vanuit Microsoft Fabric Warehouse

De Microsoft Fabric Warehouse-connector in kopieeractiviteit biedt ingebouwde gegevenspartitionering om gegevens parallel te kopiëren. U vindt opties voor gegevenspartitionering op het tabblad Bron van de kopieeractiviteit.

Schermopname van partitieopties

Wanneer u gepartitioneerde kopieën inschakelt, voert de kopieeractiviteit parallelle query's uit op uw Microsoft Fabric Warehouse-bron om gegevens te laden op partities. De parallelle graad wordt bepaald door de parallelCopies instelling voor de kopieeractiviteit. Als u bijvoorbeeld instelt op parallelCopies vier, genereert de service gelijktijdig vier query's en voert deze uit op basis van de opgegeven partitieoptie en -instellingen en haalt elke query een deel van de gegevens op uit uw Microsoft Fabric Warehouse.

U wordt aangeraden parallelle kopie met gegevenspartitionering in te schakelen, met name wanneer u grote hoeveelheden gegevens uit uw Microsoft Fabric Warehouse laadt. Hier volgen voorgestelde configuraties voor verschillende scenario's. Wanneer u gegevens kopieert naar een bestandsgegevensarchief, is het raadzaam om naar een map te schrijven als meerdere bestanden (alleen mapnaam opgeven), in welk geval de prestaties beter zijn dan schrijven naar één bestand.

Scenario Voorgestelde instellingen
Volledige belasting van grote tabellen, terwijl met een geheel getal of datum/tijd-kolom voor gegevenspartitionering. Partitieopties: partitie dynamisch bereik.
Partitiekolom (optioneel): Geef de kolom op die wordt gebruikt om gegevens te partitioneren. Als deze niet is opgegeven, wordt de index- of primaire-sleutelkolom gebruikt.
Bovengrens en partitieondergrens partitioneren (optioneel): Geef op of u de partitie-onderdrukking wilt bepalen. Dit is niet voor het filteren van de rijen in de tabel en alle rijen in de tabel worden gepartitioneerd en gekopieerd. Als dit niet is opgegeven, worden de waarden automatisch gedetecteerd door de kopieeractiviteit.

Als de partitiekolom 'ID' bijvoorbeeld waarden heeft tussen 1 en 100 en u de ondergrens instelt op 20 en de bovengrens als 80, met parallelle kopie als 4, haalt de service gegevens op met 4 partities - id's in bereik <=20, [21, 50], [51, 80] en >=81.
Laad een grote hoeveelheid gegevens met behulp van een aangepaste query, terwijl u een geheel getal of een datum/datum/tijd-kolom gebruikt voor gegevenspartitionering. Partitieopties: partitie dynamisch bereik.
Query: SELECT * FROM <TableName> WHERE ?DfDynamicRangePartitionCondition AND <your_additional_where_clause>.
Partitiekolom: Geef de kolom op die wordt gebruikt om gegevens te partitioneren.
Bovengrens en partitieondergrens partitioneren (optioneel): Geef op of u de partitie-onderdrukking wilt bepalen. Dit is niet voor het filteren van de rijen in de tabel en alle rijen in het queryresultaat worden gepartitioneerd en gekopieerd. Als dit niet is opgegeven, detecteert kopieeractiviteit automatisch de waarde.

Als de partitiekolom 'ID' bijvoorbeeld waarden heeft tussen 1 en 100 en u de ondergrens instelt op 20 en de bovengrens als 80, waarbij de parallelle kopie als 4 is, haalt de service gegevens op met 4 partities- id's in het bereik <=20, [21, 50], [51, 80] en >=81.

Hier volgen meer voorbeeldquery's voor verschillende scenario's:
1. Voer een query uit op de hele tabel:
SELECT * FROM <TableName> WHERE ?DfDynamicRangePartitionCondition
2. Query's uitvoeren uit een tabel met kolomselectie en aanvullende where-componentfilters:
SELECT <column_list> FROM <TableName> WHERE ?DfDynamicRangePartitionCondition AND <your_additional_where_clause>
3. Query uitvoeren met subquery's:
SELECT <column_list> FROM (<your_sub_query>) AS T WHERE ?DfDynamicRangePartitionCondition AND <your_additional_where_clause>
4. Query uitvoeren met partitie in subquery:
SELECT <column_list> FROM (SELECT <your_sub_query_column_list> FROM <TableName> WHERE ?DfDynamicRangePartitionCondition) AS T

Aanbevolen procedures voor het laden van gegevens met partitieoptie:

  • Kies een onderscheidende kolom als partitiekolom (zoals primaire sleutel of unieke sleutel) om scheeftrekken van gegevens te voorkomen.
  • Als u Azure Integration Runtime gebruikt om gegevens te kopiëren, kunt u grotere 'Data-Integratie eenheden (DIU)' (>4) instellen om meer rekenresources te gebruiken. Controleer de toepasselijke scenario's daar.
  • "Mate van kopieerparallellisme" bepaalt de partitienummers, stelt dit getal een beetje te groot voor de prestaties, raadt u aan dit getal in te stellen als (DIU of het aantal zelf-hostende IR-knooppunten) * (2 tot 4).
  • Houd er rekening mee dat Microsoft Fabric Warehouse maximaal 32 query's tegelijk kan uitvoeren. Als u 'Mate van kopieerparallelisme' instelt, kan dit een probleem met de beperking van het magazijn veroorzaken.

Voorbeeld: query met partitie dynamisch bereik

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

Copy-instructie gebruiken om gegevens te laden in Microsoft Fabric Warehouse

Het gebruik van de COPY-instructie is een eenvoudige en flexibele manier om gegevens te laden in Microsoft Fabric Warehouse met hoge doorvoer. Voor meer informatie, controleert u gegevens bulksgewijs laden met behulp van de COPY-instructie

  • Als uw brongegevens zich in Azure Blob of Azure Data Lake Storage Gen2 bevinden en de indeling compatibel is met de COPY-instructie, kunt u de kopieeractiviteit gebruiken om de COPY-instructie rechtstreeks aan te roepen om Microsoft Fabric Warehouse de gegevens uit de bron te laten ophalen. Zie Direct copy met behulp van de COPY-instructie voor meer informatie.
  • Als uw brongegevensarchief en -indeling niet oorspronkelijk wordt ondersteund door de COPY-instructie, gebruikt u in plaats daarvan de functie Gefaseerde kopie met behulp van de functie COPY-instructie. De functie voor gefaseerde kopie biedt u ook een betere doorvoer. De gegevens worden automatisch geconverteerd naar de indeling die compatibel is met de COPY-instructie, slaat de gegevens op in Azure Blob Storage en roept vervolgens de COPY-instructie aan om gegevens te laden in Microsoft Fabric Warehouse.

Tip

Wanneer u de COPY-instructie gebruikt met Azure Integration Runtime, is effectieve Data-Integratie eenheden (DIU) altijd 2. Het afstemmen van de DIU heeft geen invloed op de prestaties.

Directe kopie met behulp van copy-instructie

De microsoft Fabric Warehouse COPY-instructie ondersteunt rechtstreeks Azure Blob, Azure Data Lake Storage Gen1 en Azure Data Lake Storage Gen2. Als uw brongegevens voldoen aan de criteria die in deze sectie worden beschreven, gebruikt u de COPY-instructie om rechtstreeks vanuit het brongegevensarchief naar Microsoft Fabric Warehouse te kopiëren. Gebruik anders gefaseerde kopie met behulp van de COPY-instructie. De service controleert de instellingen en mislukt de uitvoering van de kopieeractiviteit als niet aan de criteria wordt voldaan.

  • De gekoppelde bronservice en -indeling zijn met de volgende typen en verificatiemethoden:

    Ondersteund type brongegevensarchief Ondersteunde indeling Ondersteund type bronverificatie
    Azure Blob Tekst met scheidingstekens Verificatie van accountsleutels, shared access signature-verificatie
      Parquet Verificatie van accountsleutels, shared access signature-verificatie
    Azure Data Lake Storage Gen2 Tekst met scheidingstekens
    Parquet
    Verificatie van accountsleutels, shared access signature-verificatie
  • De indelingsinstellingen zijn met de volgende:

    • Voor Parquet: compression kan geen compressie, Snappy of GZip.
    • Voor tekst met scheidingstekens:
      • rowDelimiter wordt expliciet ingesteld als één teken of '\r\n', de standaardwaarde wordt niet ondersteund.
      • nullValue is ingesteld op een lege tekenreeks ("").
      • encodingName is ingesteld op utf-8 of utf-16.
      • escapeChar moet hetzelfde zijn als quoteCharen is niet leeg.
      • skipLineCount is standaard ingesteld of ingesteld op 0.
      • compressionkan geen compressie of GZip.
  • Als uw bron een map is, recursive moet in de kopieeractiviteit worden ingesteld op waar en wildcardFilename moet dit zijn * of *.*.

  • wildcardFolderPath, wildcardFilename (anders dan *of *.*), modifiedDateTimeStart, , modifiedDateTimeEnden enablePartitionDiscoveryprefixadditionalColumns zijn niet opgegeven.

De volgende instellingen voor de COPY-instructie worden ondersteund onder allowCopyCommand kopieeractiviteit:

Eigenschappen Beschrijving Vereist
defaultValues Hiermee geeft u de standaardwaarden op voor elke doelkolom in Microsoft Fabric Warehouse. De standaardwaarden in de eigenschap overschrijven de standaardbeperking die is ingesteld in het datawarehouse en de identiteitskolom mag geen standaardwaarde hebben. Nee
additionalOptions Aanvullende opties die worden doorgegeven aan een Microsoft Fabric Warehouse COPY-instructie rechtstreeks in de component 'With' in de COPY-instructie. Citeer de waarde indien nodig om te voldoen aan de vereisten voor de COPY-instructie. Nee
"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
        }
    }
]

Gefaseerde kopie met de instructie COPY

Wanneer uw brongegevens niet systeemeigen compatibel zijn met de COPY-instructie, schakelt u het kopiëren van gegevens in via een tussentijdse fasering van Azure Blob of Azure Data Lake Storage Gen2 (dit kan geen Azure Premium Storage zijn). In dit geval converteert de service de gegevens automatisch om te voldoen aan de vereisten voor de gegevensindeling van de COPY-instructie. Vervolgens wordt de COPY-instructie aangeroepen om gegevens in Microsoft Fabric Warehouse te laden. Ten slotte worden uw tijdelijke gegevens uit de opslag opgeschoond. Zie Gefaseerde kopie voor meer informatie over het kopiëren van gegevens via een fasering.

Als u deze functie wilt gebruiken, maakt u een gekoppelde Azure Blob Storage-service of een gekoppelde Azure Data Lake Storage Gen2-service met accountsleutel of door het systeem beheerde identiteitsverificatie die verwijst naar het Azure-opslagaccount als tussentijdse opslag.

Belangrijk

Belangrijk

Als uw faserings-Azure Storage is geconfigureerd met een beheerd privé-eindpunt en de firewall voor opslag is ingeschakeld, moet u verificatie van beheerde identiteiten gebruiken en machtigingen voor Opslagblobgegevenslezer verlenen aan de Synapse SQL Server om ervoor te zorgen dat deze toegang heeft tot de gefaseerde bestanden tijdens het laden van de COPY-instructie.

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

Eigenschappen van opzoekactiviteit

Als u meer wilt weten over de eigenschappen, controleert u de lookup-activiteit.

Eigenschappen van GetMetadata-activiteit

Als u meer wilt weten over de eigenschappen, controleert u de Activiteit GetMetadata

Toewijzing van gegevenstypen voor Microsoft Fabric Warehouse

Wanneer u gegevens kopieert uit Microsoft Fabric Warehouse, worden de volgende toewijzingen gebruikt van Microsoft Fabric Warehouse-gegevenstypen naar tussentijdse gegevenstypen binnen de service intern. Zie Schema- en gegevenstypetoewijzingen voor meer informatie over hoe de kopieeractiviteit het bronschema en het gegevenstype toewijst aan de sink.

Microsoft Fabric Warehouse-gegevenstype Tussentijds gegevenstype Data Factory
bigint Int64
binair Byte[]
bit Booleaanse waarde
char Tekenreeks, Teken[]
datum Datum en tijd
datetime2 Datum en tijd
Decimal Decimal
FILESTREAM-kenmerk (varbinary(max)) Byte[]
Float Dubbel
int Int32
numeriek Decimal
werkelijk Eén
smallint Int16
tijd TimeSpan
uniqueidentifier Guid
varbinary Byte[]
varchar Tekenreeks, Teken[]

Volgende stappen

Zie Ondersteunde gegevensarchieven voor een lijst met gegevensarchieven die worden ondersteund als bronnen en sinks door de kopieeractiviteit.