Condividi tramite


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

APPLICABILE A: Azure Data Factory Azure Synapse Analytics

Suggerimento

Data Factory in Microsoft Fabric è la nuova generazione di Azure Data Factory, con un'architettura più semplice, un'intelligenza artificiale predefinita e nuove funzionalità. Se non si ha familiarità con l'integrazione dei dati, iniziare con Fabric Data Factory. I carichi di lavoro di Azure Data Factory esistenti possono eseguire l'aggiornamento a Fabric per accedere a nuove funzionalità tra data science, analisi in tempo reale e creazione di report.

L'attività MapReduce di HDInsight in una pipeline di Azure Data Factory o Synapse Analytics pipeline richiama il programma MapReduce su proprio o su un cluster HDInsight on-demand. 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: Tutorial: transform data 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 tramite l'interfaccia utente

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

  1. Cercare MapReduce nel riquadro Attività della pipeline, quindi trascinare un'attività MapReduce nel canvas 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 in quella sede e un percorso di file all'interno della posizione 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
nome Nome dell'attività
descrizione Testo che descrive l'uso dell'attività No
tipo Per l'attività MapReduce, il tipo di attività è HDinsightMapReduce
nomeServizioCollegato 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 Archiviazione di Azure usato per archiviare i file JAR. Sono supportati solo 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 nella Archiviazione di Azure a cui fa riferimento jarLinkedService. Il nome del file distingue tra maiuscole e minuscole.
jarlibs Matrice di stringhe del percorso dei file di libreria Jar a cui fa riferimento il processo archiviato nella Archiviazione di Azure definita in jarLinkedService. Il nome del file distingue tra maiuscole e minuscole. No
getDebugInfo Specifica quando i file di log vengono copiati nel Archiviazione di Azure usato dal cluster HDInsight (o) specificato da jarLinkedService. Valori consentiti: Nessuno, Sempre o Errore. 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
definisce 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: