Transforme dados usando a atividade hadoop MapReduce em Azure Data Factory ou Synapse Analytics

APLICA-SE A: Azure Data Factory Azure Synapse Analytics

A atividade HDInsight MapReduce em um Azure Data Factory ou pipeline Synapse Analytics invoca o programa MapReduce no seu próprio ou a pedido hdinsight cluster. Este artigo baseia-se no artigo de atividades de transformação de dados , que apresenta uma visão geral da transformação de dados e das atividades de transformação apoiadas.

Para saber mais, leia os artigos de introdução para Azure Data Factory e Synapse Analytics, e faça o tutorial: Tutorial: transforme dados antes de ler este artigo.

Consulte o Pig and Hive para obter detalhes sobre a execução de scripts de Porco/Colmeia num cluster HDInsight a partir de um oleoduto utilizando atividades de Porco e Colmeia HDInsight.

Adicione uma atividade hdInsight MapReduce a um oleoduto com UI

Para utilizar uma atividade HDInsight MapReduce para um oleoduto, complete os seguintes passos:

  1. Procure mapReduce no painel de atividades do oleoduto e arraste uma atividade mapReduce para a tela do gasoduto.

  2. Selecione a nova atividade mapReduce na tela se ainda não estiver selecionada.

  3. Selecione o separador Cluster HDI para selecionar ou criar um novo serviço ligado a um cluster HDInsight que será utilizado para executar a atividade MapReduce.

    Shows the UI for a MapReduce activity.

  4. Selecione o separador Jar para selecionar ou criar um novo serviço ligado ao Jar a uma conta Azure Armazenamento que irá hospedar o seu script. Especifique um nome de classe a ser executado lá, e um caminho de arquivo dentro do local de armazenamento. Também pode configurar detalhes avançados, incluindo uma localização de jar libs, configuração de depuração e argumentos e parâmetros a serem passados para o script.

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

Syntax

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

Detalhes da sintaxe

Propriedade Descrição Necessário
name Nome da atividade Yes
descrição Texto que descreve para que a atividade é usada No
tipo Para a Atividade mapReduce, o tipo de atividade é HDinsightMapReduce Yes
linkedServiceName Referência ao cluster HDInsight registado como um serviço ligado. Para saber mais sobre este serviço ligado, consulte o artigo de serviços ligados a Compute . Yes
nome de classeName Nome da Classe a executar Yes
jarLinkedService Referência a um Serviço Azure Armazenamento Linked usado para armazenar os ficheiros Jar. Apenas Armazenamento de Blobs do Azure e serviços ligados à ADLS Gen2 são apoiados aqui. Se não especificar este Serviço Linked, é utilizado o Serviço Ligado Azure Armazenamento definido no Serviço Linked HDInsight. No
jarFilePath Forneça o caminho para os ficheiros Jar armazenados no Azure Armazenamento referidos pelo jarLinkedService. O nome do ficheiro é sensível a casos. Yes
jarlibs Array de corda do caminho para os ficheiros da biblioteca Jar referenciados pelo trabalho armazenado no Azure Armazenamento definido no jarLinkedService. O nome do ficheiro é sensível a casos. No
obterDebugInfo Especifica quando os ficheiros de registo são copiados para o Azure Armazenamento utilizados pelo cluster HDInsight (ou) especificados pelo jarLinkedService. Valores permitidos: Nenhum, sempre ou falha. Valor predefinido: Nenhum. No
argumentos Especifica uma série de argumentos para um trabalho de Hadoop. Os argumentos são passados como argumentos de linha de comando para cada tarefa. No
define Especifique os parâmetros como pares chave/valor para referência dentro do script Hive. No

Exemplo

Pode utilizar a Atividade hdInsight MapReduce para executar qualquer ficheiro de frasco MapReduce num cluster HDInsight. Na seguinte amostra, a definição JSON de um oleoduto, a Atividade HDInsight está configurada para executar um ficheiro Mahout JAR.

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

Pode especificar quaisquer argumentos para o programa MapReduce na secção de argumentos . No tempo de execução, você vê alguns argumentos extra (por exemplo: mapreduce.job.tags) a partir do quadro MapReduce. Para diferenciar os seus argumentos com os argumentos MapReduce, considere usar a opção e o valor como argumentos como mostrados no exemplo seguinte (,--inputam,--output etc., são opções imediatamente seguidas pelos seus valores).

Passos seguintes

Veja os seguintes artigos que explicam como transformar dados de outras formas: