Condividi tramite


Trasformare i dati usando l'attività MapReduce di Hadoop in Azure Data Factory o Synapse Analytics

SI APPLICA A: Azure Data Factory Azure Synapse Analytics

Suggerimento

Provare Data Factory in Microsoft Fabric, una soluzione di analisi all-in-one per le aziende. Microsoft Fabric copre tutto, dallo spostamento dati al data science, all'analisi in tempo reale, alla business intelligence e alla creazione di report. Vedere le informazioni su come iniziare una nuova prova gratuita!

L'attività MapReduce di HDInsight in una pipeline di Azure Data Factory o Synapse Analytics richiama il programma MapReduce nel proprio cluster HDInsight o su richiesta. Questo articolo si basa sull'articolo relativo alle attività di trasformazione dei dati che presenta una panoramica generale della trasformazione dei dati e le attività di trasformazione supportate.

Per altre informazioni, leggere gli articoli introduttivi per Azure Data Factory e Synapse Analytics ed eseguire l'esercitazione Esercitazione: Trasformare i dati prima di leggere questo articolo.

Vedere Pig e Hive per informazioni dettagliate sull'esecuzione di script Pig/Hive in un cluster HDInsight da una pipeline tramite le attività HDInsight Pig e Hive.

Aggiungere un'attività MapReduce di HDInsight a una pipeline con l'interfaccia utente

Per usare un'attività MapReduce di HDInsight in una pipeline, completare la procedura seguente:

  1. Cercare MapReduce nel riquadro Attività pipeline e trascinare un'attività MapReduce nell'area di disegno della pipeline.

  2. Selezionare la nuova attività MapReduce nell'area di disegno, se non è già selezionata.

  3. Selezionare la scheda Cluster HDI per selezionare o creare un nuovo servizio collegato in un cluster HDInsight che verrà usato per eseguire l'attività MapReduce.

    Mostra l'interfaccia utente per un'attività MapReduce.

  4. Selezionare la scheda Jar per selezionare o creare un nuovo servizio collegato Jar a un account Archiviazione di Azure che ospiterà lo script. Specificare un nome di classe da eseguire e un percorso di file all'interno del percorso di archiviazione. È anche possibile configurare dettagli avanzati, tra cui un percorso delle librerie Jar, la configurazione di debug e gli argomenti e i parametri da passare allo script.

    Mostra l'interfaccia utente per la scheda Jar per un'attività MapReduce.

Sintassi

{
    "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"
        }
    }
}

Dettagli sintassi

Proprietà Descrizione Richiesto
name Nome dell'attività
description Testo descrittivo per lo scopo dell'attività No
type Per l'attività MapReduce, il tipo di attività è HDinsightMapReduce
linkedServiceName Riferimento al cluster HDInsight registrato come servizio collegato. Per informazioni su questo servizio collegato, vedere l'articolo Servizi collegati di calcolo.
className Nome della classe da eseguire
jarLinkedService Riferimento a un servizio collegato di Archiviazione di Azure usato per archiviare i file Jar. Qui sono supportati solo i servizi collegati Archiviazione BLOB di Azure e ADLS Gen2. Se non si specifica questo servizio collegato, viene usato il servizio collegato Archiviazione di Azure definito nel servizio collegato HDInsight. No
jarFilePath Specificare il percorso dei file Jar archiviati nel servizio Archiviazione di Azure indicato da jarLinkedService. Il nome del file distingue tra maiuscole e minuscole.
jarlibs Percorso dei file di libreria Jar indicati dal processo archiviato nel servizio Archiviazione di Azure indicato da jarLinkedService. Il nome del file distingue tra maiuscole e minuscole. No
getDebugInfo Specifica quando i file di log vengono copiati nel servizio Archiviazione di Azure usato dal cluster HDInsight o specificato da jarLinkedService. Valori consentiti: None, Always o Failure. Valore predefinito: None. No
argomenti Specifica una matrice di argomenti per un processo Hadoop. Gli argomenti vengono passati a ogni attività come argomenti della riga di comando. No
defines Specificare i parametri come coppie chiave/valore per fare riferimento a essi nello script Hive. No

Esempio

È possibile usare l’attività MapReduce di HDInsight per l'esecuzione di file JAR di MapReduce in un cluster HDInsight. Nella definizione JSON seguente di una pipeline di esempio l'attività HDInsight è configurata per eseguire un file JAR di Mahout.

{
    "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"
        ]
    }
}

È possibile specificare eventuali argomenti per il programma MapReduce nella sezione arguments. In fase di esecuzione, vengono visualizzati alcuni argomenti aggiuntivi (ad esempio: mapreduce.job.tags) dal framework di MapReduce. Per differenziare gli argomenti con gli argomenti di MapReduce, è consigliabile usare sia l'opzione che il valore come argomenti, come illustrato nell'esempio seguente (-s,--input,--output e così via sono opzioni immediatamente seguite dai valori).

Vedere gli articoli seguenti, che illustrano altre modalità di trasformazione dei dati: