Gegevens transformeren met behulp van Hadoop MapReduce-activiteit in Azure Data Factory of Synapse Analytics

VAN TOEPASSING OP: Azure Data Factory Azure Synapse Analytics

Tip

Probeer Data Factory uit in Microsoft Fabric, een alles-in-één analyseoplossing voor ondernemingen. Microsoft Fabric omvat alles, van gegevensverplaatsing tot gegevenswetenschap, realtime analyses, business intelligence en rapportage. Meer informatie over het gratis starten van een nieuwe proefversie .

De HDInsight MapReduce-activiteit in een Azure Data Factory- of Synapse Analytics-pijplijn roept het MapReduce-programma aan op uw eigen of on-demand HDInsight-cluster. Dit artikel is gebaseerd op het artikel over activiteiten voor gegevenstransformatie , waarin een algemeen overzicht wordt weergegeven van de gegevenstransformatie en de ondersteunde transformatieactiviteiten.

Lees de inleidende artikelen voor Azure Data Factory en Synapse Analytics voor meer informatie en voer de zelfstudie uit: Gegevens transformeren voordat u dit artikel leest.

Zie Pig en Hive voor meer informatie over het uitvoeren van Pig/Hive-scripts in een HDInsight-cluster vanuit een pijplijn met behulp van HDInsight Pig- en Hive-activiteiten.

Een HDInsight MapReduce-activiteit toevoegen aan een pijplijn met ui

Voer de volgende stappen uit om een HDInsight MapReduce-activiteit te gebruiken voor een pijplijn:

  1. Zoek naar MapReduce in het deelvenster Pijplijnactiviteiten en sleep een MapReduce-activiteit naar het pijplijncanvas.

  2. Selecteer de nieuwe MapReduce-activiteit op het canvas als deze nog niet is geselecteerd.

  3. Selecteer het tabblad HDI-cluster om een nieuwe gekoppelde service te selecteren of te maken voor een HDInsight-cluster dat wordt gebruikt om de MapReduce-activiteit uit te voeren.

    Shows the UI for a MapReduce activity.

  4. Selecteer het jar-tabblad om een nieuwe jar-gekoppelde service te selecteren of te maken voor een Azure Storage-account dat als host fungeert voor uw script. Geef een klassenaam op die daar moet worden uitgevoerd en een bestandspad binnen de opslaglocatie. U kunt ook geavanceerde details configureren, waaronder een Jar-bibliothekenlocatie, foutopsporingsconfiguratie en argumenten en parameters die moeten worden doorgegeven aan het script.

    Shows the UI for the Jar tab for a MapReduce activity.

Syntaxis

{
    "name": "Map Reduce Activity",
    "description": "Description",
    "type": "HDInsightMapReduce",
    "linkedServiceName": {
        "referenceName": "MyHDInsightLinkedService",
        "type": "LinkedServiceReference"
    },
    "typeProperties": {
        "className": "org.myorg.SampleClass",
        "jarLinkedService": {
            "referenceName": "MyAzureStorageLinkedService",
            "type": "LinkedServiceReference"
        },
        "jarFilePath": "MyAzureStorage/jars/sample.jar",
        "getDebugInfo": "Failure",
        "arguments": [
            "-SampleHadoopJobArgument1"
        ],
        "defines": {
            "param1": "param1Value"
        }
    }
}

Syntaxisdetails

Eigenschappen Beschrijving Vereist
name Naam van de activiteit Ja
beschrijving Tekst waarin wordt beschreven waarvoor de activiteit wordt gebruikt Nee
type Voor MapReduce-activiteit is het activiteitstype HDinsightMapReduce Ja
linkedServiceName Verwijzing naar het HDInsight-cluster dat is geregistreerd als een gekoppelde service. Zie het artikel Gekoppelde services berekenen voor meer informatie over deze gekoppelde service. Ja
Classname Naam van de klasse die moet worden uitgevoerd Ja
jarLinkedService Verwijzing naar een gekoppelde Azure Storage-service die wordt gebruikt voor het opslaan van de Jar-bestanden. Hier worden alleen gekoppelde Azure Blob Storage- en ADLS Gen2-services ondersteund. Als u deze gekoppelde service niet opgeeft, wordt de gekoppelde Azure Storage-service die is gedefinieerd in de gekoppelde HDInsight-service gebruikt. Nee
jarFilePath Geef het pad op naar de Jar-bestanden die zijn opgeslagen in Azure Storage waarnaar wordt verwezen door jarLinkedService. De bestandsnaam is hoofdlettergevoelig. Ja
jarlibs Tekenreeksmatrix van het pad naar de Jar-bibliotheekbestanden waarnaar wordt verwezen door de taak die is opgeslagen in Azure Storage die is gedefinieerd in jarLinkedService. De bestandsnaam is hoofdlettergevoelig. Nee
getDebugInfo Hiermee geeft u op wanneer de logboekbestanden worden gekopieerd naar de Azure Storage die wordt gebruikt door het HDInsight-cluster (of) dat is opgegeven door jarLinkedService. Toegestane waarden: Geen, Altijd of Fout. Standaardwaarde: Geen. Nee
Argumenten Hiermee geeft u een matrix van argumenten voor een Hadoop-taak. De argumenten worden doorgegeven als opdrachtregelargumenten aan elke taak. Nee
Definieert Geef parameters op als sleutel-waardeparen voor verwijzingen in het Hive-script. Nee

Opmerking

U kunt de HDInsight MapReduce-activiteit gebruiken om een MapReduce JAR-bestand uit te voeren op een HDInsight-cluster. In de volgende JSON-voorbeelddefinitie van een pijplijn is de HDInsight-activiteit geconfigureerd voor het uitvoeren van een Mahout JAR-bestand.

{
    "name": "MapReduce Activity for Mahout",
    "description": "Custom MapReduce to generate Mahout result",
    "type": "HDInsightMapReduce",
    "linkedServiceName": {
        "referenceName": "MyHDInsightLinkedService",
        "type": "LinkedServiceReference"
    },
    "typeProperties": {
        "className": "org.apache.mahout.cf.taste.hadoop.similarity.item.ItemSimilarityJob",
        "jarLinkedService": {
            "referenceName": "MyStorageLinkedService",
            "type": "LinkedServiceReference"
        },
        "jarFilePath": "adfsamples/Mahout/jars/mahout-examples-0.9.0.2.2.7.1-34.jar",
        "arguments": [
            "-s",
            "SIMILARITY_LOGLIKELIHOOD",
            "--input",
            "wasb://adfsamples@spestore.blob.core.windows.net/Mahout/input",
            "--output",
            "wasb://adfsamples@spestore.blob.core.windows.net/Mahout/output/",
            "--maxSimilaritiesPerItem",
            "500",
            "--tempDir",
            "wasb://adfsamples@spestore.blob.core.windows.net/Mahout/temp/mahout"
        ]
    }
}

U kunt eventuele argumenten voor het MapReduce-programma opgeven in de sectie argumenten . Tijdens runtime ziet u enkele extra argumenten (bijvoorbeeld mapreduce.job.tags) uit het MapReduce-framework. Als u uw argumenten wilt onderscheiden van de MapReduce-argumenten, kunt u overwegen om beide opties en waarden te gebruiken als argumenten, zoals wordt weergegeven in het volgende voorbeeld (-s,--input,--output, enzovoort, zijn opties direct gevolgd door hun waarden).

Zie de volgende artikelen waarin wordt uitgelegd hoe u gegevens op andere manieren kunt transformeren: