Transformar dados usando a atividade do Hadoop MapReduce no Azure Data Factory ou no Synapse Analytics
APLICA-SE A: Azure Data Factory Azure Synapse Analytics
Gorjeta
Experimente o Data Factory no Microsoft Fabric, uma solução de análise tudo-em-um para empresas. O Microsoft Fabric abrange tudo, desde a movimentação de dados até ciência de dados, análises em tempo real, business intelligence e relatórios. Saiba como iniciar uma nova avaliação gratuitamente!
A atividade MapReduce do HDInsight em um pipeline do Azure Data Factory ou do Synapse Analytics invoca o programa MapReduce em seu próprio cluster HDInsight ou sob demanda. 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 suportadas.
Para saber mais, leia os artigos de introdução do Azure Data Factory e do Synapse Analytics e faça o tutorial: Tutorial: transformar dados antes de ler este artigo.
Consulte Pig e Hive para obter detalhes sobre como executar scripts Pig/Hive em um cluster HDInsight a partir de um pipeline usando as atividades do Pig e do Hive do HDInsight.
Adicionar uma atividade MapReduce do HDInsight a um pipeline com a interface do usuário
Para usar uma atividade MapReduce do HDInsight em um pipeline, conclua as seguintes etapas:
Procure MapReduce no painel Atividades do pipeline e arraste uma atividade do MapReduce para a tela do pipeline.
Selecione a nova atividade MapReduce na tela se ainda não estiver selecionada.
Selecione a guia Cluster HDI para selecionar ou criar um novo serviço vinculado a um cluster HDInsight que será usado para executar a atividade MapReduce.
Selecione a guia Jar para selecionar ou criar um novo serviço vinculado Jar a uma conta de Armazenamento do Azure que hospedará seu script. Especifique um nome de classe a ser executado lá e um caminho de arquivo dentro do local de armazenamento. Você também pode configurar detalhes avançados, incluindo um local Jar libs, configuração de depuração e argumentos e parâmetros a serem passados para o script.
Sintaxe
{
"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
Property | Descrição | Obrigatório |
---|---|---|
nome | Nome da atividade | Sim |
descrição | Texto que descreve para que serve a atividade | Não |
tipo | Para MapReduce Activity, o tipo de atividade é HDinsightMapReduce | Sim |
linkedServiceName | Referência ao cluster HDInsight registrado como um serviço vinculado. Para saber mais sobre esse serviço vinculado, consulte o artigo Serviços vinculados de computação. | Sim |
className | Nome da classe a ser executada | Sim |
jarLinkedService | Referência a um Serviço Vinculado de Armazenamento do Azure usado para armazenar os arquivos Jar. Somente o Armazenamento de Blobs do Azure e os serviços vinculados ADLS Gen2 são suportados aqui. Se você não especificar esse Serviço Vinculado, o Serviço Vinculado de Armazenamento do Azure definido no Serviço Vinculado do HDInsight será usado. | Não |
jarFilePath | Forneça o caminho para os arquivos Jar armazenados no Armazenamento do Azure referidos por jarLinkedService. O nome do arquivo diferencia maiúsculas de minúsculas. | Sim |
Jarlibs | Matriz de cadeia de caracteres do caminho para os arquivos da biblioteca Jar referenciados pelo trabalho armazenado no Armazenamento do Azure definido em jarLinkedService. O nome do arquivo diferencia maiúsculas de minúsculas. | Não |
getDebugInfo | Especifica quando os arquivos de log são copiados para o Armazenamento do Azure usado pelo cluster HDInsight (ou) especificado pelo jarLinkedService. Valores permitidos: Nenhum, Sempre ou Falha. Valor padrão: Nenhum. | Não |
Argumentos | Especifica uma matriz de argumentos para um trabalho Hadoop. Os argumentos são passados como argumentos de linha de comando para cada tarefa. | Não |
define | Especifique parâmetros como pares chave/valor para referência dentro do script Hive. | Não |
Exemplo
Você pode usar a Atividade MapReduce do HDInsight para executar qualquer arquivo jar do MapReduce em um cluster HDInsight. No exemplo de definição JSON de um pipeline a seguir, a Atividade do HDInsight é configurada para executar um arquivo JAR 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"
]
}
}
Você pode especificar quaisquer argumentos para o programa MapReduce na seção argumentos . No tempo de execução, você vê alguns argumentos extras (por exemplo: mapreduce.job.tags) da estrutura MapReduce. Para diferenciar seus argumentos com os argumentos MapReduce, considere usar a opção e o valor como argumentos, conforme mostrado no exemplo a seguir (-s,--input,--output etc., são opções imediatamente seguidas por seus valores).
Conteúdos relacionados
Consulte os seguintes artigos que explicam como transformar dados de outras maneiras: