Data Factory-activiteiten en -pijplijnen maken

Voltooid

Activiteiten in Azure Data Factory definiëren de acties die worden uitgevoerd op de gegevens en er zijn drie categorieën, waaronder:

  • Activiteiten voor gegevensverplaatsing
  • Activiteiten voor gegevenstransformatie
  • Controleactiviteiten

Activiteiten voor gegevensverplaatsing

Activiteiten voor gegevensverplaatsing verplaatsen gegevens van het ene gegevensarchief naar het andere. U kunt de kopieeractiviteit gebruiken om activiteiten voor gegevensverplaatsing uit te voeren of met behulp van JSON. Er zijn een breed scala aan gegevensarchieven die worden ondersteund als bron en als sink. Deze lijst neemt steeds toe en u vindt hier de meest recente informatie.

Activiteiten voor gegevenstransformatie

Activiteiten voor gegevenstransformatie kunnen systeemeigen worden uitgevoerd in het bewerkingsprogramma van Azure Data Factory met behulp van de toewijzings-Gegevensstroom. U kunt ook een rekenresource aanroepen om gegevens te wijzigen of te verbeteren door middel van transformatie, of analyse van de gegevens uitvoeren. Dit zijn onder andere rekentechnologieën zoals Azure Databricks, Azure Batch, SQL Database en Azure Synapse Analytics, Machine Learning Services, Virtuele Azure-machines en HDInsight. U kunt gebruikmaken van bestaande SSIS-pakketten (SQL Server Integration Services) die zijn opgeslagen in een catalogus om uit te voeren in Azure

Naarmate deze lijst zich altijd ontwikkelt, kunt u hier de meest recente informatie krijgen.

Controleactiviteiten

Wanneer u ADF-oplossingen grafisch ontwerpt, kunt u de besturingsstroom in het ontwerp gebruiken om pijplijnactiviteiten te organiseren die ketenactiviteiten in een reeks omvatten, vertakkingen, parameters definiëren op pijplijnniveau en argumenten doorgeven tijdens het aanroepen van de pijplijn op aanvraag of vanuit een trigger. De huidige mogelijkheden omvatten het volgende:

Controleactiviteit Beschrijving
Execute Pipeline Activity De Execute Pipeline Activity stelt een Data Factory-pijplijn in staat om een andere pijplijn aan te roepen.
ForEachActivity De ForEachActivity definieert een herhalende controlestroom in de pijplijn. Deze activiteit wordt gebruikt om een verzameling te herhalen en voert opgegeven activiteiten uit in een lus. De lusimplementatie van deze activiteit is vergelijkbaar met Foreach-lusstructuur in computertalen.
WebActivity De WebActivity kan worden gebruikt om een aangepast REST-eindpunt aan te roepen vanaf een Data Factory-pijplijn. U kunt gegevenssets en gekoppelde services doorgeven die moten worden verbruikt door en die toegankelijk zijn voor de activiteit.
Lookup Activity De Lookup Activity kan worden gebruikt om een record/tabelnaam/waarde van een externe bron te lezen of op te zoeken. Er kan naar deze uitvoer worden verwezen door volgende activiteiten.
Get Metadata Activity De Get Metadata Activity kan worden gebruikt voor het ophalen van metagegevens van gegevens in Azure Data Factory.
Until Activity Hiermee implementeert u een Doen totdat-lus die vergelijkbaar is met een Doen totdat-lusstructuur in computertalen. Er wordt een reeks activiteiten uitgevoerd totdat de voorwaarde die aan de activiteit is gekoppeld, resulteert in waar. U kunt in Data Factory een time-outwaarde voor de Until-activiteit opgeven.
If Condition Activity De If Condition kan worden gebruikt als vertakking onder de voorwaarde dat deze resulteert in waar of onwaar. De If Condition Activity biedt dezelfde functionaliteit als een If-instructie in een programmeertaal. Het evalueert een reeks activiteiten wanneer de voorwaarde waar evalueert en een andere set activiteiten wanneer de voorwaarde onwaar oplevert.
Wait Activity Als u een Wait Activity in een pijplijn gebruikt, wacht de pijplijn tot de opgegeven periode voorbij is voordat de volgende activiteiten worden uitgevoerd.

Hier vindt u de meest recente informatie.

Activiteiten en pijplijnen

Activiteiten definiëren

Wanneer u JSON-notatie gebruikt, kan in de sectie Activiteiten een of meer activiteiten zijn gedefinieerd. Er zijn twee soorten activiteiten: uitvoerings- en controleactiviteiten. Uitvoeringsactiviteiten (ook wel Compute genoemd) omvatten activiteiten voor gegevensverplaatsing en gegevenstransformatie. Ze hebben de volgende structuur op het hoogste niveau:

{
    "name": "Execution Activity Name",
    "description": "description",
    "type": "<ActivityType>",
    "typeProperties":
    {
    },
    "linkedServiceName": "MyLinkedService",
    "policy":
    {
    },
    "dependsOn":
    {
    }
}

In de volgende tabel worden eigenschappen in de bovenstaande JSON beschreven:

Eigenschappen Beschrijving Vereist
name De naam van de activiteit. Ja
beschrijving Tekst die beschrijft waarvoor de activiteit of wordt gebruikt. Nee
type Hiermee definieert u het type activiteit. Ja
linkedServiceName De naam van de gekoppelde service die door de activiteit wordt gebruikt. Ja voor HDInsight, Machine Learning Batch Scoring-activiteit en Opgeslagen procedureactiviteit
typeProperties Eigenschappen in de sectie typeProperties zijn afhankelijk van elk type activiteit. Nee
policy Beleidsregels die van invloed zijn op het runtimegedrag van de activiteit. Deze eigenschap bevat gedrag voor time-outs en opnieuw proberen. Nee
dependsOn Deze eigenschap wordt gebruikt voor het definiëren van afhankelijkheden van de activiteit, en hoe de volgende activiteiten afhankelijk zijn van vorige activiteiten. Nee

Controleactiviteiten definiëren

Een controleactiviteit in Data Factory wordt als volgt gedefinieerd in JSON-indeling:

{
    "name": "Control Activity Name",
    "description": "description",
    "type": "<ActivityType>",
    "typeProperties":
    {
    },
    "dependsOn":
    {
    }
}

In de volgende tabel worden eigenschappen in de bovenstaande JSON beschreven:

Eigenschappen Beschrijving Vereist
name De naam van de activiteit. Ja
beschrijving Tekst die beschrijft waarvoor de activiteit of wordt gebruikt. Ja
type Hiermee definieert u het type activiteit. Ja
typeProperties Eigenschappen in de sectie typeProperties zijn afhankelijk van elk type activiteit. Nee
dependsOn Deze eigenschap wordt gebruikt voor het definiëren van afhankelijkheden van de activiteit, en hoe de volgende activiteiten afhankelijk zijn van vorige activiteiten. Nee

Pijplijnen definiëren

Een pijplijn wordt als volgt in de JSON-indeling gedefinieerd:

{
    "name": "PipelineName",
    "properties":
    {
        "description": "pipeline description",
        "activities":
        [
        ],
        "parameters": {
         }
    }
}

In de volgende tabel worden eigenschappen in de bovenstaande JSON beschreven:

Eigenschappen Beschrijving Vereist
name Naam van de pijplijn. Ja
beschrijving Tekst waarin wordt beschreven waarvoor de pijplijn wordt gebruikt. Nee
activities De sectie activities kan één of meer activiteiten bevatten die zijn gedefinieerd binnen de activiteit. Ja
parameters De sectie parameters kan één of meer parameters bevatten die zijn gedefinieerd in de pijplijn, waardoor uw pijplijn kan worden hergebruikt. Nee

Opmerking

Met de volgende JSON wordt een pijplijn met de naam 'MyFirstPipeline' gedefinieerd die één activiteitstype van HDInsightHive bevat die een query aanroept van een scriptnaam partitionweblogs.hql die is opgeslagen in de gekoppelde service met de naam StorageLinkedService, met een invoer met de naam 'AzureBlobInput' en een uitvoer met de naam 'AzureBlobOutput'. Dit wordt uitgevoerd op basis van de rekenresource die is gedefinieerd in de gekoppelde service met de naam HDInsightOnDemandLinkedService

De pijplijn wordt maandelijks uitgevoerd en probeert drie keer uit te voeren als deze mislukt.

{
    "name": "MyFirstPipeline",
    "properties": {
        "description": "My first Azure Data Factory pipeline",
        "activities": [
            {
                "type": "HDInsightHive",
                "typeProperties": {
                    "scriptPath": "adfgetstarted/script/partitionweblogs.hql",
                    "scriptLinkedService": "StorageLinkedService",
                    "defines": {
                        "inputtable": "wasb://adfgetstarted@ctostorageaccount.blob.core.windows.net/inputdata",
                        "partitionedtable": "wasb://adfgetstarted@ctostorageaccount.blob.core.windows.net/partitioneddata"
                    }
                },
                "inputs": [
                    {
                        "name": "AzureBlobInput"
                    }
                ],
                "outputs": [
                    {
                        "name": "AzureBlobOutput"
                    }
                ],
                "policy": {
                    "concurrency": 1,
                    "retry": 3
                },
                "scheduler": {
                    "frequency": "Month",
                    "interval": 1
              },
                "name": "RunSampleHiveActivity",
                "linkedServiceName": "HDInsightOnDemandLinkedService"
            }
        ],
        "start": "2017-04-01T00:00:00Z",
        "end": "2017-04-02T00:00:00Z",
        "isPaused": false,
        "hubName": "ctogetstarteddf_hub",
        "pipelineMode": "Scheduled"
    }
}