Datauppsättningar i Azure Data Factory och Azure Synapse Analytics

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

Den här artikeln beskriver vad datauppsättningar är, hur de definieras i JSON-format och hur de används i Azure Data Factory- och Synapse-pipelines.

Om du inte har Data Factory i Introduktion till Azure Data Factory en översikt. Mer information om Azure Synapse finns i Vad är Azure Synapse

Översikt

En datafabrik eller Synapse-arbetsyta kan ha en eller flera pipelines. En pipeline är en logisk gruppering av aktiviteter som tillsammans utför en uppgift. Aktiviteterna i en pipeline definierar åtgärder som ska utföras på dina data. Nu är en datauppsättning en namngiven datavy som helt enkelt pekar eller refererar till de data som du vill använda i dina aktiviteter som indata och utdata. Datauppsättningar identifierar data inom olika datalager, till exempel tabeller, filer, mappar och dokument. En Azure Blob-datauppsättning anger till exempel blobcontainern och mappen i Blob Storage som aktiviteten ska läsa data från.

Innan du skapar en datauppsättning måste du skapa en länkad tjänst för att länka ditt datalager till tjänsten. Länkade tjänster liknar anslutningssträngar som definierar den anslutningsinformation som behövs för att tjänsten ska kunna ansluta till externa resurser. Tänk på det på det här sättet; datamängden representerar strukturen för data i de länkade datalager och den länkade tjänsten definierar anslutningen till datakällan. En länkad tjänst Azure Storage till exempel ett lagringskonto. En Azure Blob-datauppsättning representerar blobcontainern och mappen i Azure Storage som innehåller de indatablobar som ska bearbetas.

Här är ett exempelscenario. Om du vill kopiera data från Blob Storage till SQL Database skapar du två länkade tjänster: Azure Blob Storage och Azure SQL Database. Skapa sedan två datauppsättningar: Avgränsad textdatauppsättning (som refererar till den länkade Azure Blob Storage-tjänsten, förutsatt att du har textfiler som källa) och Azure SQL Table-datauppsättningen (som refererar till den länkade Azure SQL Database-tjänsten). Azure Blob Storage och Azure SQL Database-länkade tjänster innehåller anslutningssträngar som tjänsten använder vid körning för att ansluta till din Azure Storage respektive Azure SQL Database. Datauppsättningen Avgränsad text anger blobcontainern och blobmappen som innehåller indatablobarna i bloblagringen, tillsammans med formatrelaterade inställningar. Datamängden Azure SQL Table anger SQL i din SQL Database som data ska kopieras till.

Följande diagram visar relationerna mellan pipeline, aktivitet, datauppsättning och länkade tjänster:

Relation mellan pipeline, aktivitet, datauppsättning, länkade tjänster

JSON för datauppsättning

En datauppsättning definieras i följande JSON-format:

{
    "name": "<name of dataset>",
    "properties": {
        "type": "<type of dataset: DelimitedText, AzureSqlTable etc...>",
        "linkedServiceName": {
                "referenceName": "<name of linked service>",
                "type": "LinkedServiceReference",
        },
        "schema":[

        ],
        "typeProperties": {
            "<type specific property>": "<value>",
            "<type specific property 2>": "<value 2>",
        }
    }
}

I följande tabell beskrivs egenskaperna i ovanstående JSON:

Egenskap Beskrivning Obligatorisk
name Namnet på datauppsättningen. Se Namngivningsregler. Ja
typ Typ av datauppsättning. Ange en av de typer som stöds av Data Factory (till exempel: DelimitedText, AzureSqlTable).

Mer information finns i Datamängdstyper.
Ja
schema Schemat för datauppsättningen representerar den fysiska datatypen och formen. Inga
typeProperties Typegenskaperna är olika för varje typ. Mer information om vilka typer som stöds och deras egenskaper finns i Datauppsättningstyp. Ja

När du importerar schemat för datauppsättningen väljer du knappen Importera schema och väljer att importera från källan eller från en lokal fil. I de flesta fall importerar du schemat direkt från källan. Men om du redan har en lokal schemafil (en Parquet-fil eller CSV med rubriker) kan du dirigera tjänsten att basera schemat på filen.

I kopieringsaktiviteten används datauppsättningar i källa och mottagare. Schema som definierats i datauppsättningen är valfritt som referens. Om du vill tillämpa kolumn-/fältmappning mellan källa och mottagare, se Schema och typmappning.

I Data Flow används datauppsättningar i käll- och mottagaretransformationer. Datauppsättningarna definierar de grundläggande dataschemana. Om dina data inte har något schema kan du använda schemaavdrift för källan och mottagaren. Metadata från datauppsättningarna visas i din källtransformering som källprojektion. Projektionen i källtransformeringen representerar data Flow data med definierade namn och typer.

Typ av datauppsättning

Tjänsten stöder många olika typer av datauppsättningar, beroende på vilka datalager du använder. Du hittar listan över datalager som stöds i översiktsartikeln för anslutningsappen. Klicka på ett datalager om du vill lära dig hur du skapar en länkad tjänst och en datauppsättning för den.

För till exempel en datauppsättning med avgränsad text anges datauppsättningstypen till DelimitedText enligt följande JSON-exempel:

{
    "name": "DelimitedTextInput",
    "properties": {
        "linkedServiceName": {
            "referenceName": "AzureBlobStorage",
            "type": "LinkedServiceReference"
        },
        "annotations": [],
        "type": "DelimitedText",
        "typeProperties": {
            "location": {
                "type": "AzureBlobStorageLocation",
                "fileName": "input.log",
                "folderPath": "inputdata",
                "container": "adfgetstarted"
            },
            "columnDelimiter": ",",
            "escapeChar": "\\",
            "quoteChar": "\""
        },
        "schema": []
    }
}

Skapa datauppsättningar

Du kan skapa datauppsättningar med något av följande verktyg eller SDK:er: .NET API,PowerShell,REST API,Azure Resource Manager Template och Azure Portal

Datauppsättningar för aktuell version jämfört med version 1

Här är några skillnader mellan datauppsättningar i Data Factory aktuella versionen (och Azure Synapse) och den äldre Data Factory version 1:

  • Den externa egenskapen stöds inte i den aktuella versionen. Den ersätts av en utlösare.
  • Princip- och tillgänglighetsegenskaperna stöds inte i den aktuella versionen. Starttiden för en pipeline beror på utlösare.
  • Begränsade datauppsättningar (datauppsättningar som definierats i en pipeline) stöds inte i den aktuella versionen.

Nästa steg

Se följande självstudie för stegvisa instruktioner för att skapa pipelines och datauppsättningar med hjälp av något av dessa verktyg eller SDK:er.