Delen via


Pijplijnen en activiteiten in Azure Data Factory en Azure Synapse Analytics

APPLIES TO: Azure Data Factory Azure Synapse Analytics

Aanbeveling

Data Factory in Microsoft Fabric is de volgende generatie van Azure Data Factory, met een eenvoudigere architectuur, ingebouwde AI en nieuwe functies. Als u nieuw bent in gegevensintegratie, begint u met Fabric Data Factory. Bestaande ADF-workloads kunnen upgraden naar Fabric om toegang te krijgen tot nieuwe mogelijkheden voor gegevenswetenschap, realtime analyses en rapportage.

Belangrijk

Ondersteuning voor Azure Machine Learning Studio (klassiek) eindigt op 31 augustus 2024. Het is raadzaam om op die datum over te stappen naar Azure Machine Learning.

Vanaf 1 december 2021 kunt u geen nieuwe Machine Learning Studio (klassieke) resources (werkruimte- en webserviceplan) maken. Tot en met 31 augustus 2024 kunt u de bestaande Machine Learning Studio (klassieke) experimenten en webservices blijven gebruiken. Zie voor meer informatie:

Machine Learning Studio (klassieke) documentatie buiten gebruik wordt gesteld en in de toekomst mogelijk niet meer wordt bijgewerkt.

Dit artikel helpt u bij het begrijpen van pijplijnen en activiteiten in Azure Data Factory en Azure Synapse Analytics en deze gebruiken om end-to-end gegevensgestuurde werkstromen te maken voor uw scenario's voor gegevensverplaatsing en gegevensverwerking.

Overzicht

Een Data Factory- of Synapse-werkruimte kan een of meer pijplijnen hebben. Een pijplijn is een logische groep activiteiten die samen een taak uitvoeren. Een pijplijn kan bijvoorbeeld een set activiteiten bevatten die logboekgegevens opnemen en opschonen, en vervolgens een mappinggegevensstroom in gang zetten voor het analyseren van de logboekgegevens. Met de pijplijn kunt u de activiteiten beheren als een set in plaats van elk afzonderlijk. U implementeert en plant de pijplijn in plaats van de afzonderlijke activiteiten.

De activiteiten in een pijplijn bepalen acties die moeten worden uitgevoerd op uw gegevens. U kunt bijvoorbeeld een kopieeractiviteit gebruiken om gegevens van SQL Server naar een Azure Blob Storage te kopiëren. Gebruik vervolgens een gegevensstroomactiviteit of een Databricks Notebook-activiteit om gegevens van de blobopslag te verwerken en te transformeren naar een Azure Synapse Analytics-pool waarop business intelligence-rapportageoplossingen worden gebouwd.

Azure Data Factory en Azure Synapse Analytics drie groepen activiteiten hebben: activiteiten voor gegevensverplaatsing dataverplaatsing, activiteiten voor gegevenstransformatie en controleactiviteiten. Een activiteit kan nul of meer invoergegevenssets hebben en een of meer uitvoergegevenssets produceren. In het volgende diagram ziet u de relatie tussen pijplijn, activiteit en gegevensset:

Relatie tussen de gegevensset, activiteit en pijplijn

Een invoergegevensset vertegenwoordigt de invoer voor een activiteit in de pijplijn en een uitvoergegevensset vertegenwoordigt de uitvoer voor de activiteit. Met gegevenssets worden gegevens binnen andere gegevensarchieven geïdentificeerd, waaronder tabellen, bestanden, mappen en documenten. Nadat u een gegevensset hebt gemaakt, kunt u deze gebruiken voor activiteiten in een pijplijn. Een gegevensset kan bijvoorbeeld een gegevensset voor invoer/uitvoer van een kopieeractiviteit of een HDInsightHive-activiteit zijn. Zie Gegevenssets in Azure Data Factory artikel voor meer informatie over gegevenssets.

Notitie

Er is een standaard zachte limiet van maximaal 120 activiteiten per pijplijn, waaronder interne activiteiten voor containers.

Activiteiten voor gegevensverplaatsing

De kopieeractiviteit in Data Factory kopieert gegevens van een brongegevensarchief naar een sinkgegevensarchief. Data Factory ondersteunt de gegevensopslagplaatsen die in de tabel in deze sectie worden vermeld. Gegevens vanuit elke willekeurige bron kunnen naar een sink worden geschreven.

Zie het artikel Kopieeractiviteit - overzicht voor meer informatie.

Selecteer een gegevensarchief voor informatie over het kopiëren van gegevens naar en van dat archief.

Categorie Gegevensopslag Ondersteund als een bron Ondersteund als een sink Ondersteund door Azure IR Ondersteund door zelf-gehoste IR
Azure Azure Blob Storage
  Azure AI Zoeken index
  Azure Cosmos DB voor NoSQL
  Azure Cosmos DB voor MongoDB
  Azure Data Explorer
  Azure Data Lake Storage Gen1
  Azure Data Lake Storage Gen2
  Azure Database for MariaDB
  Azure Database for MySQL
  Azure Database for PostgreSQL
  Azure Databricks Delta Lake
  Azure Files
  Azure SQL Database
  Azure SQL Managed Instance
  Azure Synapse Analytics
  Azure Table Storage
Database Amazon RDS voor Oracle
  Amazon RDS voor SQL Server
  Amazon Redshift
  DB2
  Boor
  Google BigQuery
  Greenplum
  HBase
  Hive
  Apache Impala
  Informix
  MariaDB
  Microsoft Access
  MySQL
  Netezza
  Orakel
  Feniks
  PostgreSQL
  Presto
  SAP Business Warehouse via Open Hub
  SAP Business Warehouse via MDX
  SAP HANA Sink wordt alleen ondersteund met de ODBC-connector en het SAP HANA ODBC-stuurprogramma
  SAP-tabel
  Sneeuwvlok
  Spark
  SQL Server
  Sybase
  Teradata
  Vertica
NoSQL Cassandra
  Couchbase (preview)
  MongoDB
  MongoDB Atlas-
Bestand Amazon S3
  Amazon S3-compatibele opslag
  Bestandssysteem
  FTP
  Google Cloud Storage
  HDFS
  Oracle Cloud Storage
  SFTP
Algemeen protocol Algemene HTTP
  Algemene OData
  Algemene ODBC
  Algemene REST
Diensten en apps Amazon Marketplace-webservice (afgeschaft)
  Concur (preview)
  Dataverse
  Dynamics 365
  Dynamics AX
  Dynamics CRM
  Google AdWords
  HubSpot
  Jira
  Magento (preview)
  Marketo (preview)
  Microsoft 365
  Oracle Eloqua (preview)
  Oracle Responsys (preview)
  Oracle Service Cloud (preview)
  Paypal (preview)
  QuickBooks (preview)
  Salesforce
  Salesforce Service Cloud
  Salesforce Marketing Cloud
  SAP Cloud voor de klant (C4C)
  SAP ECC
  ServiceNow
SharePoint Onlinelijst
  Shopify (preview)
  Square (preview)
  Webtabel (HTML-tabel)
  Xero
  Zoho (preview)

Notitie

Als een connector is gemarkeerd met preview, kunt u deze proberen en ons feedback geven. Als u afhankelijk wilt zijn van preview-connectors in uw oplossing, neemt u contact op met ondersteuning voor Azure.

Activiteiten voor gegevenstransformatie

Azure Data Factory en Azure Synapse Analytics de volgende transformatieactiviteiten ondersteunen die afzonderlijk kunnen worden toegevoegd of gekoppeld aan een andere activiteit.

Zie het artikel Activiteiten voor gegevenstransformatie voor meer informatie.

Activiteiten voor gegevenstransformatie Compute-omgeving
Gegevensstroom Apache Spark-clusters die worden beheerd door Azure Data Factory
Azure Functions Azure Functions
Hive HDInsight [Hadoop]
Varken HDInsight [Hadoop]
MapReduce HDInsight [Hadoop]
Hadoop Streaming HDInsight [Hadoop]
Spark HDInsight [Hadoop]
ML Studio-activiteiten (klassiek): Batch-uitvoering en resource bijwerken Azure VM
Opgeslagen procedure Azure SQL, Azure Synapse Analytics of SQL Server
U-SQL Azure Data Lake Analytics
Aangepaste activiteit Azure Batch
Databricks Notebook Azure Databricks
Databricks Jar-activiteit Azure Databricks
Databricks Python Activity Azure Databricks
Synapse Notebook-activiteit Azure Synapse Analytics

Controleflowactiviteiten

De volgende controlestroomactiviteiten worden ondersteund:

Controleactiviteit Beschrijving
Variabele toevoegen Voeg een waarde toe aan een bestaande matrixvariabele.
Pijplijn uitvoeren Met de activiteit Pijplijn uitvoeren kan een Data Factory- of Synapse-pijplijn een andere pijplijn aanroepen.
Filteren Een filterexpressie toepassen op een invoermatrix
Voor elke 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.
Metagegevens ophalen GetMetadata-activiteit kan worden gebruikt om metagegevens van alle gegevens in een Data Factory- of Synapse-pijplijn op te halen.
Als-Voorwaarde Activiteit De If-voorwaarde kan worden gebruikt om te vertakken op basis van een conditie die 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 evalueert op true en een andere set activiteiten wanneer de voorwaarde resulteert in false.
Zoekactiviteit 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.
Variabele instellen Stel de waarde van een bestaande variabele in.
Tot Activiteit 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 een time-outwaarde opgeven voor de 'until' activiteit.
Validatieactiviteit Zorg ervoor dat een pijplijn alleen wordt uitgevoerd als er een referentiegegevensset bestaat, voldoet aan een opgegeven criteria of dat er een time-out is bereikt.
Wachtactiviteit Wanneer u een wachtactiviteit in een pijplijn gebruikt, wacht de pijplijn op de opgegeven tijd voordat u verdergaat met de uitvoering van volgende activiteiten.
Webactiviteit Webactiviteit kan worden gebruikt om een aangepast REST-eindpunt aan te roepen vanuit een pijplijn. U kunt datasets en gekoppelde services doorgeven die door de activiteit gebruikt en benaderd moeten worden.
Webhook-activiteit Roep met behulp van de webhookactiviteit een eindpunt aan en geef een callback-URL door. Het pijplijnproces wacht totdat de callback is aangeroepen voordat wordt doorgegaan met de volgende activiteit.

Een pijplijn maken met de gebruikersinterface

Als u een nieuwe pijplijn wilt maken, gaat u naar het tabblad Auteur in Data Factory Studio (vertegenwoordigd door het potloodpictogram), selecteert u het plusteken en kiest u Pijplijn in het menu en kiest u Pijplijn opnieuw in het submenu.

 Toont de stappen voor het maken van een nieuwe pijplijn met behulp van Azure Data Factory Studio.

Data factory geeft de pijplijneditor weer waar u het volgende kunt vinden:

  1. Alle activiteiten die binnen de pijplijn gebruikt kunnen worden.
  2. Het canvas van de pijplijneditor, waar activiteiten worden weergegeven wanneer ze worden toegevoegd aan de pijplijn.
  3. Het deelvenster pijplijnconfiguraties, inclusief parameters, variabelen, algemene instellingen en uitvoer.
  4. Het deelvenster met pijplijneigenschappen, waarin de naam van de pijplijn, optionele beschrijving en aantekeningen kunnen worden geconfigureerd. Dit deelvenster bevat ook gerelateerde items voor de pijplijn in de data factory.

Screenshot dat het deelvenster van de pipeline-editor in Azure Data Factory Studio toont, waarbij elk van de beschreven secties is gemarkeerd.

JSON-pipeline

U kunt als volgt een pijplijn definiëren in JSON-indeling:

{
    "name": "PipelineName",
    "properties":
    {
        "description": "pipeline description",
        "activities":
        [
        ],
        "parameters": {
        },
        "concurrency": <your max pipeline concurrency>,
        "annotations": [
        ]
    }
}
Tag Beschrijving Type Vereist
naam Naam van de pijplijn. Geef een naam op die staat voor de actie die de pijplijn uitvoert.
  • Maximum aantal tekens: 140
  • Moet beginnen met een letter, cijfer of onderstrepingsteken (_)
  • De volgende tekens zijn niet toegestaan: ".", "+", "?", "/", "<",">","*"," %"," &",":"," "
Snaar / Touwtje Ja
beschrijving Voer een beschrijving in van het doel waarvoor de pijplijn wordt gebruikt. Snaar / Touwtje Nee
activiteiten De sectie activities kan één of meer activiteiten bevatten die daarbinnen zijn gedefinieerd. Zie de sectie Activity in JSON voor meer informatie over het JSON-element activities. Array Ja
Parameters De sectie parameters kan één of meer parameters bevatten die zijn gedefinieerd in de pijplijn, waardoor uw pijplijn kan worden hergebruikt. Lijst Nee
Gelijktijdigheid Het maximum aantal keren dat de pijplijn gelijktijdig kan worden uitgevoerd. Standaard is er geen maximum. Als de gelijktijdigheidslimiet is bereikt, worden er extra pijplijnruns in de wachtrij geplaatst totdat voorgaande runs zijn voltooid. Aantal Nee
Aantekeningen Een lijst met tags die zijn gekoppeld aan de pijplijn Array Nee

Activiteit JSON

De sectie activities kan een of meer activiteiten bevatten. Er zijn twee soorten activiteiten: uitvoerings- en controleactiviteiten.

Uitvoeringsactiviteiten

Uitvoeringsactiviteiten zijn activiteiten voor gegevensverplaatsing en activiteiten voor gegevenstransformatie. Ze hebben de volgende structuur op het hoogste niveau:

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

De volgende tabel beschrijft de eigenschappen in de JSON-definitie activity:

Tag Beschrijving Vereist
naam De naam van de activiteit. Geef een naam op die staat voor de actie die de activiteit uitvoert.
  • Maximum aantal tekens: 55
  • Moet beginnen met een letternummer of een onderstrepingsteken (_)
  • De volgende tekens zijn niet toegestaan: ".", "+", "?", "/", "<",">","*"," %"," &",":"," "
Ja
beschrijving Beschrijving van het doel waarvoor de activiteit of wordt gebruikt Ja
type Type activiteit. Bekijk de secties Activiteiten voor gegevensverplaatsing, Activiteiten voor gegevenstransformatie en Controleactiviteiten voor andere typen activiteiten. Ja
naam van gekoppelde service De naam van de gekoppelde service die door de activiteit wordt gebruikt.

Voor een activiteit moet u mogelijk de gekoppelde service opgeven die is gekoppeld aan de vereiste rekenomgeving.
Ja voor HDInsight Activity, ML Studio (klassiek) Batch Scoring Activity, Stored Procedure Activity.

Nee voor alle andere
type-eigenschappen Eigenschappen in de sectie typeProperties zijn afhankelijk van elk type activiteit. Als u typeeigenschappen voor een activiteit wilt zien, selecteert u koppelingen naar de activiteit in de vorige sectie. Nee
beleid Beleidsregels die van invloed zijn op het runtimegedrag van de activiteit. Deze eigenschap bevat een time-out en gedrag voor opnieuw proberen. Als dit niet is opgegeven, worden standaardwaarden gebruikt. Zie voor meer informatie de sectie Beleidsregels voor activiteiten. Nee
hangtAfVan Deze eigenschap wordt gebruikt voor het definiëren van afhankelijkheden van de activiteit, en hoe de volgende activiteiten afhankelijk zijn van vorige activiteiten. Zie voor meer informatie de sectie Afhankelijkheid van activiteiten Nee

Beleid voor activiteiten

Beleidsregels zijn van invloed op het runtimegedrag van een activiteit, waardoor configuratieopties worden gegeven. Beleidsregels voor activiteiten zijn alleen beschikbaar voor uitvoeringsactiviteiten.

JSON-definitie van beleidsregels voor activiteiten

{
    "name": "MyPipelineName",
    "properties": {
      "activities": [
        {
          "name": "MyCopyBlobtoSqlActivity",
          "type": "Copy",
          "typeProperties": {
            ...
          },
         "policy": {
            "timeout": "00:10:00",
            "retry": 1,
            "retryIntervalInSeconds": 60,
            "secureOutput": true
         }
        }
      ],
        "parameters": {
           ...
        }
    }
}
JSON-naam Beschrijving Toegestane waarden Vereist
tijdslimiet Hiermee geeft u de time-out op voor de activiteit die moet worden uitgevoerd. Tijdsspanne Nee De standaardtime-out is 12 uur, minimaal 10 minuten.
Probeer het opnieuw Maximaal aantal nieuwe pogingen Geheel getal Nee De standaardwaarde is 0
opnieuw proberenIntervalInSeconds De vertraging tussen nieuwe pogingen in seconden Geheel getal Nee De standaardwaarde is 30 seconden
veilige uitvoer Als deze optie is ingesteld op true, wordt de uitvoer van de activiteit als veilig beschouwd en niet geregistreerd voor monitoring. Booleaans Nee De standaardwaarde is onwaar.

Controleactiviteit

Controleactiviteiten hebben de volgende structuur op het hoogste niveau:

{
    "name": "Control Activity Name",
    "description": "description",
    "type": "<ActivityType>",
    "typeProperties":
    {
    },
    "dependsOn":
    {
    }
}
Tag Beschrijving Vereist
naam De naam van de activiteit. Geef een naam op die staat voor de actie die de activiteit uitvoert.
  • Maximum aantal tekens: 55
  • Moet beginnen met een letter, cijfer of onderstrepingsteken (_)
  • De volgende tekens zijn niet toegestaan: ".", "+", "?", "/", "<",">","*"," %"," &",":"," "
Ja
    beschrijving Beschrijving van het doel waarvoor de activiteit of wordt gebruikt Ja
    type Type activiteit. Bekijk de secties Activiteiten voor gegevensverplaatsing, Activiteiten voor gegevenstransformatie en Controleactiviteiten voor andere typen activiteiten. Ja
    type-eigenschappen Eigenschappen in de sectie typeProperties zijn afhankelijk van elk type activiteit. Als u typeeigenschappen voor een activiteit wilt zien, selecteert u koppelingen naar de activiteit in de vorige sectie. Nee
    hangtAfVan Deze eigenschap wordt gebruikt voor het definiëren van afhankelijkheden van de activiteit, en hoe de volgende activiteiten afhankelijk zijn van vorige activiteiten. Zie voor meer informatie de sectie Afhankelijkheid van activiteiten. Nee

    Afhankelijkheid van activiteiten

    Activiteitsafhankelijkheid bepaalt hoe volgende activiteiten afhankelijk zijn van eerdere activiteiten, waarbij wordt bepaald of de volgende taak moet worden uitgevoerd. Een activiteit kan afhankelijk zijn van een of meer eerdere activiteiten met verschillende afhankelijkheidsvoorwaarden.

    De verschillende afhankelijkheidsvoorwaarden zijn: Geslaagd, Mislukt, Overgeslagen, Voltooid.

    Als een pijplijn bijvoorbeeld Activiteit A -> Activiteit B heeft, zijn de verschillende scenario's die kunnen optreden:

    • Activiteit B heeft de afhankelijkheidsvoorwaarde succeeded ten opzichte van Activiteit A. Dit houdt in dat Activiteit B alleen kan worden uitgevoerd als Activiteit A de definitieve status succeeded heeft
    • Activiteit B heeft de afhankelijkheidsvoorwaarde failed ten opzichte van Activiteit A. Dit houdt in dat Activiteit B alleen kan worden uitgevoerd als Activiteit A de definitieve status failed heeft
    • Activiteit B heeft de afhankelijkheidsvoorwaarde completed ten opzichte van Activiteit A. Dit houdt in dat Activiteit B wordt uitgevoerd als Activiteit A de definitieve status succeeded of failed heeft
    • Activiteit B heeft een afhankelijkheidsvoorwaarde voor Activiteit A met overgeslagen: Activiteit B wordt uitgevoerd als Activiteit A de uiteindelijke status van overgeslagen heeft. Overgeslagen vindt plaats in het scenario van Activiteit X -> Activiteit Y -> Activiteit Z, waarbij elke activiteit alleen wordt uitgevoerd als de vorige activiteit slaagt. Als Activiteit X mislukt, heeft Activiteit Y de status 'Overgeslagen' omdat deze nooit wordt uitgevoerd. Op dezelfde manier heeft Activiteit Z ook de status 'Overgeslagen'.

    Voorbeeld: Activiteit 2 is afhankelijk van het slagen van Activiteit 1

    {
        "name": "PipelineName",
        "properties":
        {
            "description": "pipeline description",
            "activities": [
             {
                "name": "MyFirstActivity",
                "type": "Copy",
                "typeProperties": {
                },
                "linkedServiceName": {
                }
            },
            {
                "name": "MySecondActivity",
                "type": "Copy",
                "typeProperties": {
                },
                "linkedServiceName": {
                },
                "dependsOn": [
                {
                    "activity": "MyFirstActivity",
                    "dependencyConditions": [
                        "Succeeded"
                    ]
                }
              ]
            }
          ],
          "parameters": {
           }
        }
    }
    
    

    Voorbeeld van kopieerproces

    In de volgende voorbeeldpijplijn is er één activiteit van het type Copy in de sectie activiteiten . In dit voorbeeld kopieert de copy-activiteit gegevens van een Azure Blob-opslag naar een database in Azure SQL Database.

    {
      "name": "CopyPipeline",
      "properties": {
        "description": "Copy data from a blob to Azure SQL table",
        "activities": [
          {
            "name": "CopyFromBlobToSQL",
            "type": "Copy",
            "inputs": [
              {
                "name": "InputDataset"
              }
            ],
            "outputs": [
              {
                "name": "OutputDataset"
              }
            ],
            "typeProperties": {
              "source": {
                "type": "BlobSource"
              },
              "sink": {
                "type": "SqlSink",
                "writeBatchSize": 10000,
                "writeBatchTimeout": "60:00:00"
              }
            },
            "policy": {
              "retry": 2,
              "timeout": "01:00:00"
            }
          }
        ]
      }
    }
    

    Let op de volgende punten:

    • In de sectie Activiteiten is er slechts één activiteit waarvan het type is ingesteld op Kopiëren.
    • De invoer voor de activiteit is ingesteld op InputDataset en de uitvoer voor de activiteit is ingesteld op OutputDataset. Zie het artikel Gegevenssets voor informatie over het definiëren van gegevenssets in JSON.
    • In het gedeelte typeProperties is BlobSource opgegeven als het brontype en SqlSink als het sink-type. Selecteer in de sectie Activiteiten voor gegevensverplaatsing het gegevensarchief dat u wilt gebruiken als bron of sink voor meer informatie over het verplaatsen van gegevens naar/van dat gegevensarchief.

    Zie quickstart: een Data Factory maken voor een volledig overzicht van het maken van deze pijplijn.

    Voorbeeld van pijplijn voor transformatie

    In de volgende voorbeeldpijplijn is er één activiteit van het type HDInsightHive in de sectie activiteiten . In dit voorbeeld transformeert de HDInsight Hive-activiteit gegevens uit een Azure Blob-opslag door een Hive-scriptbestand uit te voeren op een Azure HDInsight Hadoop-cluster.

    {
        "name": "TransformPipeline",
        "properties": {
            "description": "My first Azure Data Factory pipeline",
            "activities": [
                {
                    "type": "HDInsightHive",
                    "typeProperties": {
                        "scriptPath": "adfgetstarted/script/partitionweblogs.hql",
                        "scriptLinkedService": "AzureStorageLinkedService",
                        "defines": {
                            "inputtable": "wasb://adfgetstarted@<storageaccountname>.blob.core.windows.net/inputdata",
                            "partitionedtable": "wasb://adfgetstarted@<storageaccountname>.blob.core.windows.net/partitioneddata"
                        }
                    },
                    "inputs": [
                        {
                            "name": "AzureBlobInput"
                        }
                    ],
                    "outputs": [
                        {
                            "name": "AzureBlobOutput"
                        }
                    ],
                    "policy": {
                        "retry": 3
                    },
                    "name": "RunSampleHiveActivity",
                    "linkedServiceName": "HDInsightOnDemandLinkedService"
                }
            ]
        }
    }
    

    Let op de volgende punten:

    • In de sectie Activiteiten is er slechts één activiteit waarvan het type is ingesteld op HDInsightHive.
    • Het Hive-scriptbestand, partitionweblogs.hql, wordt opgeslagen in het Azure Storage-account (opgegeven door de scriptLinkedService, azureStorageLinkedService) en in de scriptmap in de container adfgetstarted.
    • De sectie defines wordt gebruikt om de runtime-instellingen op te geven die worden doorgegeven aan het Hive-script, zoals Hive-configuratiewaarden (bijvoorbeeld ${hiveconf:inputtable}, ${hiveconf:partitionedtable}).

    De sectie typeProperties verschilt voor elke transformatieactiviteit. Als u meer wilt weten over typeeigenschappen die worden ondersteund voor een transformatieactiviteit, selecteert u de transformatieactiviteit in de activiteiten voor gegevenstransformatie.

    Zie Zelfstudie: Gegevens transformeren met Sparkvoor een volledige procedure voor het maken van deze pijplijn.

    Meerdere activiteiten in een pijplijn

    De vorige twee voorbeeldpijplijnen bevatten slechts één activiteit. Een pijplijn kan echter meer dan één activiteit hebben. Als u meerdere activiteiten in een pijplijn hebt en latere activiteiten niet afhankelijk zijn van eerdere activiteiten, kunnen de activiteiten parallel worden uitgevoerd.

    U kunt twee activiteiten koppelen met de afhankelijkheid van activiteiten, waarmee u definieert hoe latere activiteiten afhankelijk zijn van vorige activiteiten. Op basis hiervan wordt bepaald of de volgende taak kan worden uitgevoerd. Een activiteit kan afhankelijk zijn van één of meerdere vorige activiteiten onder verschillende afhankelijkheidscondities.

    Pijplijnen plannen

    Pijplijnen worden door triggers gepland. Er zijn verschillende soorten triggers (Scheduler-trigger, waarmee pijplijnen kunnen worden geactiveerd volgens een wandklokschema en de handmatige trigger, waarmee pijplijnen op aanvraag worden geactiveerd). Zie voor meer informatie over triggers het artikel Pijplijnen uitvoeren en triggers.

    Als u wilt dat de trigger een pijplijnuitvoering activeert, moet u een verwijzing naar de betreffende pijplijn opnemen in de definitie van de trigger. Pijplijnen en triggers hebben een 'n-m-relatie'. Meerdere triggers kunnen één pijplijn starten en één trigger kan meerdere pijplijnen starten. Als de trigger is gedefinieerd, moet u de trigger starten zodat deze de pijplijn kan activeren. Zie voor meer informatie over triggers het artikel Pijplijnuitvoering en triggers.

    Stel dat u een Scheduler-trigger hebt, 'Trigger A', die uw pijplijn, 'MyCopyPipeline', moet starten. U definieert de trigger zoals in het volgende voorbeeld:

    Definitie van Trigger A

    {
      "name": "TriggerA",
      "properties": {
        "type": "ScheduleTrigger",
        "typeProperties": {
          ...
          }
        },
        "pipeline": {
          "pipelineReference": {
            "type": "PipelineReference",
            "referenceName": "MyCopyPipeline"
          },
          "parameters": {
            "copySourceName": "FileSource"
          }
        }
      }
    }