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 använt Data Factory tidigare kan du läsa Introduktion till Azure Data Factory för en översikt. Mer information om Azure Synapse finns i Vad är Azure Synapse

Översikt

En Azure Data Factory- 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 vy av data som bara 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 datalagret till tjänsten. Länkade tjänster liknar anslutningssträngar, som definierar den anslutningsinformation som krävs för att tjänsten ska kunna ansluta till externa resurser. Tänk på det så här; datauppsättningen representerar strukturen för data i de länkade datalager och den länkade tjänsten definierar anslutningen till datakällan. En länkad Azure Storage-tjänst länkar till exempel ett lagringskonto. En Azure Blob-datauppsättning representerar blobcontainern och mappen i det Azure Storage-konto som innehåller de indatablobar som ska bearbetas.

Här är ett exempelscenario. Om du vill kopiera data från Blob Storage till en SQL Database skapar du två länkade tjänster: Azure Blob Storage och SQL do Azure Database. Skapa sedan två datauppsättningar: Avgränsad textdatauppsättning (som refererar till den Azure Blob Storage länkade tjänsten, förutsatt att du har textfiler som källa) och SQL do Azure Tabelldatauppsättning (som refererar till den länkade tjänsten SQL do Azure Database). De länkade tjänsterna Azure Blob Storage och SQL do Azure Database innehåller anslutningssträngar som tjänsten använder vid körning för att ansluta till din Azure Storage respektive SQL do Azure Database. Datauppsättningen Avgränsad text anger blobcontainern och blobmappen som innehåller indatablobbarna i Blob Storage, tillsammans med formatrelaterade inställningar. Datauppsättningen SQL do Azure Table anger SQL-tabellen 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

Skapa en datauppsättning med användargränssnittet

Om du vill skapa en datauppsättning med Azure Data Factory Studio väljer du fliken Författare (med pennikonen) och sedan plustecknet för att välja Datauppsättning.

Visar fliken Författare i Azure Data Factory Studio med knappen ny datauppsättning markerad.

Du ser det nya datauppsättningsfönstret för att välja någon av de anslutningsappar som är tillgängliga i Azure Data Factory för att konfigurera en befintlig eller ny länkad tjänst.

Visar det nya datauppsättningsfönstret där du kan välja vilken typ av länkad tjänst som helst av de datafabriksanslutningar som stöds.

Därefter uppmanas du att välja datauppsättningsformatet.

Visar fönstret datauppsättningsformat så att du kan välja ett format för den nya datauppsättningen.

Slutligen kan du välja en befintlig länkad tjänst av den typ som du valde för datauppsättningen eller skapa en ny om den inte redan har definierats.

Visar fönstret ange egenskaper där du kan välja en befintlig datauppsättning av den typ som valts tidigare eller skapa en ny.

När du har skapat datauppsättningen kan du använda den i alla pipelines i Azure Data Factory.

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 egenskaper 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 Datauppsättningstyper.
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 för att basera schemat på den filen.

I kopieringsaktivitet används datauppsättningar i källa och mottagare. Schemat som definieras i datauppsättningen är valfritt som referens. Om du vill använda kolumn-/fältmappning mellan källa och mottagare läser du Schema och typmappning.

I Поток данных används datauppsättningar i käll- och mottagaromvandlingar. Datauppsättningarna definierar de grundläggande dataschemana. Om dina data inte har något schema kan du använda schemaavvikelse för källan och mottagaren. Metadata från datauppsättningarna visas i källomvandlingen som källprojektion. Projektionen i källomvandlingen representerar Поток данных data med definierade namn och typer.

Datauppsättningstyp

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 anslutningsprogram . Välj ett datalager för att lära dig hur du skapar en länkad tjänst och en datauppsättning för den.

För en avgränsad textdatauppsättning anges till exempel datauppsättningstypen Till AvgränsadText 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

Aktuell version jämfört med datauppsättningar i version 1

Här är några skillnader mellan datauppsättningar i den aktuella Data Factory-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

I följande självstudie finns stegvisa instruktioner för hur du skapar pipelines och datauppsättningar med något av dessa verktyg eller SDK:er.