Transformar dados usando a atividade do MapReduce do Hadoop no Azure Data Factory ou Synapse Analytics
APLICA-SE A: Azure Data Factory Azure Synapse Analytics
Dica
Experimente o Data Factory no Microsoft Fabric, uma solução de análise tudo-em-um para empresas. O Microsoft Fabric abrange desde movimentação de dados até ciência de dados, análise em tempo real, business intelligence e relatórios. Saiba como iniciar uma avaliação gratuita!
A atividade do MapReduce no HDInsight em um pipeline do Azure Data Factory ou Synapse Analytics invoca programa MapReduce em um cluster do HDInsight de sua propriedade ou sob demanda. Este artigo se baseia no artigo sobre atividades de transformação de dados que apresenta uma visão geral da transformação de dados e as atividades de transformação permitidas.
Para saber mais, leia os artigos de introdução ao Azure Data Factory e ao Synapse Analytics e siga o tutorial: Tutorial: transformar dados antes de ler este artigo.
Consulte Pig e Hive para obter detalhes sobre a execução de scripts do Pig/Hive em um cluster do HDInsight de um pipeline usando atividades do Pig e do Hive no HDInsight.
Adicionar uma atividade MapReduce do HDInsight a um pipeline com a interface do usuário
Para usar uma atividade de MapReduce do HDInsight a um pipeline, conclua as seguintes etapas:
Procure MapReduce no painel Atividades do pipeline e arraste uma atividade MapReduce para a tela do pipeline.
Selecione a nova atividade MapReduce na tela se ela ainda não estiver selecionada.
Selecione a guia Cluster HDI para selecionar ou criar um novo serviço vinculado para um cluster HDInsight que será usado para executar a atividade MapReduce.
Selecione a guia Jar para selecionar ou criar um serviço vinculado Jar a uma conta do Armazenamento do Azure que hospedará o script. Especifique um nome de classe a ser executada no local de armazenamento e um caminho de arquivo dentro desse local. Você também pode configurar detalhes avançados, incluindo um local de bibliotecas Jar, uma configuração de depuração, bem como 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
Propriedade | Descrição | Obrigatório |
---|---|---|
name | Nome da atividade | Sim |
descrição | Texto que descreve qual a utilidade da atividade | Não |
type | Para a atividade do MapReduce, o tipo de atividade é HDinsightMapReduce | Sim |
linkedServiceName | Referência ao cluster do HDInsight registrado como um serviço vinculado. Para saber mais sobre esse serviço vinculado, consulte o artigo Compute linked services (Serviços de computação vinculados). | Sim |
className | Nome da classe a ser executada | Sim |
jarLinkedService | Referência a um serviço vinculado do Armazenamento do Azure usado para armazenar os arquivos Jar. Somente os serviços vinculados do Armazenamento de Blobs do Azure e do ADLS Gen2 são compatíveis aqui. Se você não especificar esse serviço vinculado, será usado o serviço vinculado do Armazenamento do Azure definido no serviço vinculado do HDInsight. | Não |
jarFilePath | Forneça o caminho para os arquivos Jar armazenados no Armazenamento do Azure referenciado por jarLinkedService. O nome do arquivo diferencia maiúsculas de minúsculas. | Sim |
jarlibs | Matriz de cadeia de caracteres do caminho para os arquivos de biblioteca Jar referenciados pelo trabalho armazenado no Armazenamento do Azure referenciado por 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 do HDInsight (ou) especificado por jarLinkedService. Valores permitidos: Nenhum, Sempre ou Falha. Valor padrão: Nenhum. | Não |
argumentos | Especifica uma matriz de argumentos para um trabalho do Hadoop. Os argumentos são passados como argumentos de linha de comando para cada tarefa. | Não |
defines | Especifique parâmetros como pares chave-valor para referências no script do Hive. | Não |
Exemplo
Você pode usar a atividade do HDInsight MapReduce para executar qualquer arquivo de jar do MapReduce em um cluster do HDInsight. Na seguinte definição de JSON de exemplo de uma pipeline, a Atividade HDInsight é configurada para executar um arquivo JAR do 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 argumentos para o programa MapReduce na seção argumentos. Em runtime, você verá alguns argumentos extras (por exemplo: mapreduce.job.tags) da estrutura MapReduce. Para diferenciar seus argumentos com os argumentos MapReduce, considere usar opção e valor como argumentos, conforme mostrado no exemplo a seguir (-s,--input,--output etc. são opções seguidas imediatamente pelos respectivos valores).
Conteúdo relacionado
Consulte os seguintes artigos que explicam como transformar dados de outras maneiras:
- U-SQL activity (Atividade do U-SQL)
- Hive activity (Atividade do Hive)
- Pig activity (Atividade do Pig)
- Hadoop Streaming activity (Atividade de streaming do Hadoop)
- Spark activity (Atividade do Spark)
- Atividade personalizada do .NET
- Stored procedure activity (Atividade de procedimento armazenado)