Data Factory-activiteiten en -pijplijnen maken
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"
}
}