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:
- Verktyget Kopiera data
- Azure-portalen
- The .NET SDK
- The Python SDK
- Azure PowerShell
- REST-API:et
- Azure Resource Manager-mallen
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.
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:
Sök efter Warehouse och välj anslutningsappen.
Konfigurera tjänstinformationen, testa anslutningen och skapa den nya länkade tjänsten.
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.
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
Bevilja tjänstens huvudnamn minst rollen Deltagare i Microsoft Fabric-arbetsytan. Följ de här stegen:
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.
I fönstret Lägg till personer anger du tjänstens huvudnamn och väljer tjänstens huvudnamn i listrutan.
Ange rollen som deltagare eller högre (administratör, medlem) och välj sedan Lägg till.
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 , , bigint smallint , 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.
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
ParkettgolvKontonyckelautentisering, signaturautentisering för delad åtkomst Formatinställningarna är med följande:
- För Parquet:
compression
kan inte vara någon komprimering, Snappy ellerGZip
. - 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 somquoteChar
och är inte tom.skipLineCount
lämnas som standard eller anges till 0.compression
kan inte vara någon komprimering ellerGZip
.
- För Parquet:
Om källan är en mapp
recursive
måste kopieringsaktiviteten vara inställd på true ochwildcardFilename
måste vara*
eller*.*
.wildcardFolderPath
,wildcardFilename
(annat än*
eller*.*
),modifiedDateTimeStart
,modifiedDateTimeEnd
, ,enablePartitionDiscovery
prefix
ochadditionalColumns
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.