复制活动 i Azure Data Factory och Azure Synapse Analytics

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

I Azure Data Factory- och Synapse-pipelines kan du använda 复制活动 för att kopiera data mellan datalager som finns lokalt och i molnet. När du har kopierat data kan du använda andra aktiviteter för att ytterligare transformera och analysera dem. Du kan också använda 复制活动 för att publicera omvandlings- och analysresultat för business intelligence (BI) och programförbrukning.

Rollen för 复制活动

复制活动 körs på en integrationskörning. Du kan använda olika typer av integrationskörningar för olika scenarier för datakopiering:

  • När du kopierar data mellan två datalager som är offentligt tillgängliga via Internet från valfri IP-adress kan du använda Azure Integration Runtime för kopieringsaktiviteten. Den här integrationskörningen är säker, tillförlitlig, skalbar och globalt tillgänglig.
  • När du kopierar data till och från datalager som finns lokalt eller i ett nätverk med åtkomstkontroll (till exempel ett virtuellt Azure-nätverk) måste du konfigurera en lokalt installerad integrationskörning.

En integrationskörning måste associeras med varje käll- och mottagardatalager. Information om hur 复制活动 avgör vilken integrationskörning som ska användas finns i Fastställa vilken IR som ska användas.

Om du vill kopiera data från en källa till en mottagare utför tjänsten som kör 复制活动 följande steg:

  1. Läser data från ett källdatalager.
  2. Utför serialisering/deserialisering, komprimering/dekomprimering, kolumnmappning och så vidare. Den utför dessa åtgärder baserat på konfigurationen av indatauppsättningen, utdatauppsättningen och 复制活动.
  3. Skriver data till datalagret för mottagare/mål.

复制活动 översikt

Anteckning

Om en lokalt installerad integrationskörning används i antingen käll- eller mottagardatalager i en kopieringsaktivitet, måste både källan och mottagaren vara tillgängliga från servern som är värd för integartion-körningen för att kopieringsaktiviteten ska lyckas.

Datalager och format som stöds

Kategori Datalager Stöds som en källa Stöds som en mottagare Stöds av Azure IR Stöds av lokal IR
Azure Azure Blob Storage
  Azure Cognitive Search-index
  Azure Cosmos DB för NoSQL
  Azure Cosmos DB för MongoDB
  Azure-datautforskaren
  Azure Data Lake Storage Gen1
  Azure Data Lake Storage Gen2
  Azure Database för MariaDB
  Azure Database for MySQL
  Azure Database for PostgreSQL
  Azure Databricks Delta Lake
  Azure Files
  Azure SQL Database
  Hanterad Azure SQL-instans
  Azure Synapse Analytics
  Azure Table Storage
Databas Amazon RDS för Oracle
  Amazon RDS för SQL Server
  Amazon Redshift
  DB2
  Drill
  Google BigQuery
  Greenplum
  HBase
  Hive
  Apache Impala
  Informix
  MariaDB
  Microsoft Access
  MySQL
  Netezza
  Oracle
  Phoenix
  PostgreSQL
  Presto
  SAP Business Warehouse via Open Hub
  SAP Business Warehouse via MDX
  SAP HANA Mottagaren stöds endast med ODBC-anslutningsappen och SAP HANA ODBC-drivrutinen
  SAP-tabell
  Snowflake
  Spark
  SQL Server
  Sybase
  Teradata
  Vertica
NoSQL Cassandra
  Couchbase (förhandsversion)
  MongoDB
  MongoDB Atlas
Fil Amazon S3
  Amazon S3-kompatibel lagring
  Filsystem
  FTP
  Google Cloud Storage
  HDFS
  Oracle Cloud Storage
  SFTP
Generiskt protokoll Generisk HTTP
  OData (allmän)
  ODBC (allmän)
  REST (allmän)
Tjänster och appar Amazon Marketplace Web Service
  Concur (förhandsversion)
  Dataverse
  Dynamics 365
  Dynamics AX
  Dynamics CRM
  Google AdWords
  HubSpot
  Jira
  Magento (förhandsversion)
  Marketo (förhandsversion)
  Microsoft 365
  Oracle Eloqua (förhandsversion)
  Oracle Responsys (förhandsversion)
  Oracle Service Cloud (förhandsversion)
  PayPal (förhandsversion)
  QuickBooks (förhandsversion)
  Salesforce
  Salesforce Service Cloud
  Salesforce Marketing Cloud
  SAP Cloud for Customer (C4C)
  SAP ECC
  ServiceNow
SharePoint Online-lista
  Shopify (förhandsversion)
  Square (förhandsversion)
  Webbtabell (HTML-tabell)
  Xero
  Zoho (förhandsversion)

Anteckning

Om en anslutningsapp är märkt med förhandsversion kan du testa den och sedan ge feedback till oss. Om du vill skapa ett beroende på anslutningsappar som är i förhandsversion i din lösning kontaktar du Azure-supporten.

Filformat som stöds

Azure Data Factory stöder följande filformat. Se varje artikel för formatbaserade inställningar.

Du kan använda 复制活动 för att kopiera filer som de är mellan två filbaserade datalager, i vilket fall data kopieras effektivt utan serialisering eller deserialisering. Dessutom kan du även parsa eller generera filer i ett visst format, till exempel kan du utföra följande:

  • Kopiera data från en SQL Server databas och skriv till Azure Data Lake Storage Gen2 i Parquet-format.
  • Kopiera filer i textformat (CSV) från ett lokalt filsystem och skriv till Azure Blob Storage i Avro-format.
  • Kopiera zippade filer från ett lokalt filsystem, dekomprimera dem direkt och skriv extraherade filer till Azure Data Lake Storage Gen2.
  • Kopiera data i CSV-format (Komprimerad text) i Gzip från Azure Blob Storage och skriv dem till SQL do Azure Database.
  • Många fler aktiviteter som kräver serialisering/deserialisering eller komprimering/dekomprimering.

Regioner som stöds

Tjänsten som aktiverar 复制活动 är tillgänglig globalt i de regioner och geografiska områden som anges på Azure Integration Runtime-platser. Den globalt tillgängliga topologin säkerställer effektiv dataflytt som vanligtvis undviker hopp mellan regioner. Se Produkter efter region för att kontrollera tillgängligheten för Data Factory, Synapse-arbetsytor och dataflytt i en viss region.

Konfiguration

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

Om du vill använda 复制活动 i Azure Data Factory- eller Synapse-pipelines måste du i allmänhet:

  1. Skapa länkade tjänster för källdatalagret och datalagret för mottagare. Du hittar listan över anslutningsappar som stöds i avsnittet Datalager och format som stöds i den här artikeln. Se avsnittet "Egenskaper för länkad tjänst" i anslutningsappen för konfigurationsinformation och egenskaper som stöds.
  2. Skapa datauppsättningar för källan och mottagaren. Information om konfigurationsinformation och egenskaper som stöds finns i avsnittet "Egenskaper för datauppsättningar" i artiklarna om käll- och mottagaranslutningsappen.
  3. Skapa en pipeline med 复制活动. Nästa avsnitt innehåller ett exempel.

Syntax

Följande mall för en 复制活动 innehåller en fullständig lista över egenskaper som stöds. Ange de som passar ditt scenario.

"activities":[
    {
        "name": "CopyActivityTemplate",
        "type": "Copy",
        "inputs": [
            {
                "referenceName": "<source dataset name>",
                "type": "DatasetReference"
            }
        ],
        "outputs": [
            {
                "referenceName": "<sink dataset name>",
                "type": "DatasetReference"
            }
        ],
        "typeProperties": {
            "source": {
                "type": "<source type>",
                <properties>
            },
            "sink": {
                "type": "<sink type>"
                <properties>
            },
            "translator":
            {
                "type": "TabularTranslator",
                "columnMappings": "<column mapping>"
            },
            "dataIntegrationUnits": <number>,
            "parallelCopies": <number>,
            "enableStaging": true/false,
            "stagingSettings": {
                <properties>
            },
            "enableSkipIncompatibleRow": true/false,
            "redirectIncompatibleRowSettings": {
                <properties>
            }
        }
    }
]

Syntaxinformation

Egenskap Beskrivning Obligatoriskt?
typ För en 复制活动 anger du tillCopy Ja
Ingångar Ange den datauppsättning som du skapade som pekar på källdata. 复制活动 stöder endast en enda indata. Ja
Utgångar Ange den datauppsättning som du skapade som pekar på mottagardata. 复制活动 stöder endast en enda utdata. Ja
typeProperties Ange egenskaper för att konfigurera 复制活动. Ja
källa Ange typ av kopieringskälla och motsvarande egenskaper för att hämta data.
Mer information finns i avsnittet "复制活动 egenskaper" i anslutningsappsartikeln som visas i datalager och format som stöds.
Ja
Diskbänken Ange typ av kopieringsmottagare och motsvarande egenskaper för att skriva data.
Mer information finns i avsnittet "复制活动 egenskaper" i anslutningsappsartikeln som visas i datalager och format som stöds.
Ja
translator Ange explicita kolumnmappningar från källa till mottagare. Den här egenskapen gäller när standardkopieringsbeteendet inte uppfyller dina behov.
Mer information finns i Schemamappning i kopieringsaktivitet.
Inga
dataIntegrationUnits Ange ett mått som representerar den mängd energi som Azure Integration Runtime använder för datakopiering. Dessa enheter kallades tidigare molndataförflyttningsenheter (DMU).
Mer information finns i Dataintegreringsenheter.
Inga
parallelCopies Ange den parallellitet som du vill att 复制活动 ska använda när du läser data från källan och skriver data till mottagaren.
Mer information finns i Parallellkopia.
Inga
Bevara Ange om metadata/ACL:er ska bevaras under datakopiering.
Mer information finns i Bevara metadata.
Inga
enableStaging
stagingSettings
Ange om interimdata ska mellanlagras i Blob Storage i stället för att kopiera data direkt från källa till mottagare.
Information om användbara scenarier och konfigurationsinformation finns i Mellanlagrad kopia.
Inga
enableSkipIncompatibleRow
redirectIncompatibleRowSettings
Välj hur du ska hantera inkompatibla rader när du kopierar data från källa till mottagare.
Mer information finns i Feltolerans.
Inga

Övervakning

Du kan övervaka 复制活动 köras i Azure Data Factory- och Synapse-pipelines både visuellt och programmässigt. Mer information finns i Övervaka kopieringsaktivitet.

Inkrementell kopia

Med Data Factory- och Synapse-pipelines kan du stegvis kopiera deltadata från ett källdatalager till ett datalager för mottagare. Mer information finns i Självstudie: Kopiera data stegvis.

Prestanda- och justering

Övervakningsupplevelsen för kopieringsaktiviteten visar kopieringsprestandastatistiken för var och en av dina aktivitetskörningar. I guiden 复制活动 prestanda och skalbarhet beskrivs viktiga faktorer som påverkar prestanda för dataflytt via 复制活动. Den innehåller även prestandavärden som observerats under testningen och beskriver hur du optimerar prestanda för 复制活动.

Återuppta från den senaste misslyckade körningen

复制活动 stöder återuppta från senaste misslyckade körningen när du kopierar stora filer som de är med binärt format mellan filbaserade butiker och väljer att bevara mapp-/filhierarkin från källa till mottagare, t.ex. för att migrera data från Amazon S3 till Azure Data Lake Storage Gen2. Den gäller för följande filbaserade anslutningsappar: Amazon S3, Amazon S3 Compatible StorageAzure Blob, Azure Data Lake Storage Gen1, Azure Data Lake Storage Gen2, Azure Files, File System, FTP, Google Cloud Storage, HDFS, Oracle Cloud Storage och SFTP.

Du kan använda kopieringsaktivitetens cv på följande två sätt:

  • Försök igen på aktivitetsnivå: Du kan ange antal återförsök för kopieringsaktivitet. Om kopieringsaktiviteten misslyckas under pipelinekörningen startar nästa automatiska återförsök från den senaste utvärderingsversionens felpunkt.

  • Kör om från misslyckad aktivitet: När pipelinekörningen är klar kan du också utlösa en omkörning från den misslyckade aktiviteten i övervakningsvyn för ADF-användargränssnittet eller programmatiskt. Om den misslyckade aktiviteten är en kopieringsaktivitet körs pipelinen inte bara igen från den här aktiviteten, utan återupptas också från den föregående körningens felpunkt.

    Kopiera cv

Några punkter att notera:

  • Återuppta sker på filnivå. Om kopieringsaktiviteten misslyckas vid kopiering av en fil kopieras den här specifika filen igen i nästa körning.
  • Ändra inte kopieringsaktivitetsinställningarna mellan omkörningarna för att återuppta korrekt.
  • När du kopierar data från Amazon S3, Azure Blob, Azure Data Lake Storage Gen2 och Google Cloud Storage kan kopieringsaktiviteten återupptas från godtyckligt antal kopierade filer. Medan för resten av filbaserade anslutningsappar som källa stöder kopieringsaktiviteten återupptas från ett begränsat antal filer, vanligtvis i intervallet tiotusentals och varierar beroende på filsökvägarnas längd. filer utöver det här numret kopieras på nytt under omkörningar.

För andra scenarier än binär filkopiering startar kopieringsaktivitetens omkörning från början.

Bevara metadata tillsammans med data

När du kopierar data från källa till mottagare kan du i scenarier som data lake-migrering också välja att bevara metadata och ACL:er tillsammans med data med hjälp av kopieringsaktivitet. Mer information finns i Bevara metadata .

Mappning av schema och datatyp

Se Schema- och datatypmappning för information om hur 复制活动 mappar dina källdata till mottagaren.

Lägga till ytterligare kolumner under kopiering

Förutom att kopiera data från källdatalagret till mottagaren kan du även konfigurera att lägga till ytterligare datakolumner som ska kopieras till mottagaren. Exempel:

  • När du kopierar från en filbaserad källa lagrar du den relativa filsökvägen som ytterligare en kolumn att spåra från vilken fil data kommer från.
  • Duplicera den angivna källkolumnen som en annan kolumn.
  • Lägg till en kolumn med ADF-uttryck för att koppla ADF-systemvariabler som pipelinenamn/pipeline-ID eller lagra andra dynamiska värden från uppströmsaktivitetens utdata.
  • Lägg till en kolumn med statiskt värde för att uppfylla behovet av nedströmsförbrukning.

Du hittar följande konfiguration på fliken Kopiera aktivitetskälla. Du kan också mappa dessa ytterligare kolumner i schemamappningen för kopieringsaktivitet som vanligt med hjälp av dina definierade kolumnnamn.

Lägga till ytterligare kolumner i kopieringsaktiviteten

Tips

Den här funktionen fungerar med den senaste datauppsättningsmodellen. Om du inte ser det här alternativet från användargränssnittet kan du prova att skapa en ny datauppsättning.

Om du vill konfigurera den programmatiskt lägger du till egenskapen i kopieringsaktivitetskällan additionalColumns :

Egenskap Beskrivning Krävs
additionalColumns Lägg till ytterligare datakolumner att kopiera till mottagare.

Varje objekt under matrisen additionalColumns representerar en extra kolumn. name Definierar kolumnnamnet och value anger datavärdet för kolumnen.

Tillåtna datavärden är:
- $$FILEPATH – en reserverad variabel anger att källfilernas relativa sökväg till mappsökvägen som anges i datauppsättningen ska lagras. Använd på filbaserad källa.
- $$COLUMN:<source_column_name> – ett reserverat variabelmönster anger att den angivna källkolumnen ska dupliceras som en annan kolumn
- Uttryck
- Statiskt värde
Inga

Exempel:

"activities":[
    {
        "name": "CopyWithAdditionalColumns",
        "type": "Copy",
        "inputs": [...],
        "outputs": [...],
        "typeProperties": {
            "source": {
                "type": "<source type>",
                "additionalColumns": [
                    {
                        "name": "filePath",
                        "value": "$$FILEPATH"
                    },
                    {
                        "name": "newColName",
                        "value": "$$COLUMN:SourceColumnA"
                    },
                    {
                        "name": "pipelineName",
                        "value": {
                            "value": "@pipeline().Pipeline",
                            "type": "Expression"
                        }
                    },
                    {
                        "name": "staticValue",
                        "value": "sampleValue"
                    }
                ],
                ...
            },
            "sink": {
                "type": "<sink type>"
            }
        }
    }
]

Tips

När du har konfigurerat ytterligare kolumner kommer du ihåg att mappa dem till målmottagaren på fliken Mappning.

Skapa mottagartabeller automatiskt

När du kopierar data till SQL Database/Azure Synapse Analytics kan kopieringsaktiviteten automatiskt skapa den baserat på källdata om måltabellen inte finns. Syftet är att hjälpa dig att snabbt komma igång med att läsa in data och utvärdera SQL Database/Azure Synapse Analytics. Efter datainmatningen kan du granska och justera mottagartabellschemat efter dina behov.

Den här funktionen stöds när du kopierar data från alla källor till följande datalager för mottagare. Du hittar alternativet för ADF-redigeringsgränssnitt –>复制活动 mottagare –>Tabellalternativ –>Skapa tabell automatiskt eller via tableOption egenskap i nyttolasten för kopieringsaktivitetsmottagaren.

Skapa mottagartabeller

Feltolerans

Som standard slutar 复制活动 kopiera data och returnerar ett fel när källdatarader inte är kompatibla med rader med mottagardata. Om du vill att kopian ska lyckas kan du konfigurera 复制活动 att hoppa över och logga de inkompatibla raderna och kopiera endast kompatibla data. Mer information finns i 复制活动 feltolerans.

Verifiering av datakonsekvens

När du flyttar data från källa till målarkiv ger kopieringsaktiviteten ett alternativ där du kan utföra ytterligare verifiering av datakonsekvens för att säkerställa att data inte bara kopieras från källa till mållager, utan även verifieras vara konsekventa mellan käll- och mållagret. När inkonsekventa filer har hittats under dataflytten kan du antingen avbryta kopieringsaktiviteten eller fortsätta att kopiera resten genom att aktivera feltoleransinställningen för att hoppa över inkonsekventa filer. Du kan hämta de överhoppade filnamnen genom att aktivera inställningen för sessionsloggen i kopieringsaktiviteten. Mer information finns i Verifiering av datakonsekvens i kopieringsaktiviteten .

Sessionslogg

Du kan logga dina kopierade filnamn, vilket kan hjälpa dig att ytterligare se till att data inte bara kopieras från källa till målarkiv, utan även konsekvent mellan käll- och målarkivet genom att granska sessionsloggarna för kopieringsaktiviteten. Mer information finns i Sessionslogg i kopieringsaktivitet .

Nästa steg

Se följande snabbstarter, självstudier och exempel: