MapReduce: O que é e porque é importante

Author

Simon Tavasoli

Last updated February 20, 2017


  • 1944 Views

O que é o MapReduce?

Aqui nós explicamos brevemente o que é mapReduce e por que ele cresceu tanto em popularidade. Para explicar isso, damos alguns exemplos de como ele foi usado para resolver problemas nos negócios e na ciência.

MapReduce é o processo de obter uma lista de objetos e executar alguma operação sobre cada objeto na lista (ou seja, mapear ) para produzir uma nova lista ou calcular um único valor (ou seja, reduzir ). Este conceito é melhor explicado dando-se uma pequena amostra.

Suponha que temos esses dados que mostram as vendas de carros por um período de tempo em um revendedor de automóveis.

(Ford, Ford, Ford, Mazda, Chevrolet, Chevrolet)

Como você pode ver, este revendedor vendeu 3 Fords, 1 Mazda e 2 Chevrolets. Descobrimos isso em nossa mente, mas o computador faria isso em duas etapas: mapear e depois reduzir .

A etapa do mapa pega cada elemento na lista e executa alguma operação sobre ele para produzir um novo item para colocar em uma nova lista. Como queremos contar as vendas de carros, adicionamos o número 1 a cada item para criar esta lista de pares:

((Ford, 1), (Ford, 1), (Ford, 1), (Mazda, 1), (Chevrolet, 1), (Chevrolet, 1))

Agora, fazemos uma operação de redução para colocar itens semelhantes juntos e, em seguida, somamos para produzir isso:

((Ford, 3), (Mazda, 1), (Chevrolet, 2)

Agora podemos simplesmente ler as vendas de carros pelo fabricante.

Por que o mapReduce está rapidamente ganhando terreno na indústria

Essa ideia relativamente simples tem amplas aplicações para os negócios. E o software por trás disso facilitou muito a solução de problemas complexos em conjuntos de dados massivos, ajudando, assim, a promover seu crescimento.

MapReduce está ganhando terreno rapidamente porque o target = "_ blank"> Os sistemas de computação paralela Apache Hadoop e Spark permitem que os programadores usem o mapReduce para executar modelos em grandes conjuntos distribuídos de dados e usar técnicas avançadas de estatística e aprendizado de máquina para fazer previsões, encontrar padrões, descobrir correlações etc.

Isso permite que empresas e outras organizações executem cálculos para:

  • Determine o preço de seus produtos que produz os maiores lucros.
  • Saiba exatamente como a publicidade é eficaz e onde deve gastar o dinheiro do anúncio.
  • Faça previsões meteorológicas de longo alcance.
  • Meus cliques na web, registros de vendas comprados de varejistas e tópicos de tendências do Twitter para determinar quais novos produtos a empresa deve produzir na próxima temporada.

Antes do mapReduce, fazer esse tipo de cálculo seria difícil. Agora os programadores podem resolver problemas como esses com relativa facilidade. Os cientistas de dados codificaram seus algoritmos complexos em estruturas para que os programadores regulares possam usá-los. As empresas não precisam mais de um departamento inteiro de cientistas de PhD para modelar dados e não precisam de um supercomputador para processar grandes conjuntos de dados, já que o mapReduce é executado em uma rede de máquinas commodities de baixo custo.

Caso de uso do MapReduce: aquecimento global

Então, como empresas, governo e organizações estão usando isso?

Primeiro, damos um exemplo em que o objetivo é calcular um único valor de um conjunto de dados por meio da redução.

Suponha que queremos saber quanto o aquecimento global elevou a temperatura do oceano. Temos como leituras de temperatura de entrada de milhares de bóias em todo o mundo. Temos dados neste formato:

(bóia, dateTime, longitude, latitude, baixa temperatura, alta temperatura)

Nós atacaríamos este problema em vários mapas e reduziríamos os passos. O primeiro seria executar o mapa em cada leitura de data-hora de bóia e adicionar a temperatura média como um campo:

(bóia, data e hora, longitude, latitude, baixa, alta, média )

A gente deixaria cair a coluna dateTime e somaria esses itens para todas as bóias para produzir uma temperatura média para cada bóia:

(bóia n, média)

Em seguida, a operação de redução é executada. Um matemático diria que esta é uma operação sábia de pares em dados associativos. Em outras palavras, pegamos cada um desses pares adjacentes (bóia, média) e os somamos e então dividimos essa soma pela contagem para produzir a média das médias:

temperatura média do oceano = média (bóia n) + média (bóia n-1) +… + média (bóia 2) + média (bóia 1) / número de bóias

Caso de uso do MapReduce: testes de drogas

Aqui nós fornecemos um exemplo da indústria farmacêutica porque os produtos farmacêuticos são uma indústria na qual matemáticos e cientistas de dados tradicionalmente trabalham.

Como mencionamos acima, a invenção do mapReduce e a disseminação de algoritmos de ciência de dados em sistemas de big data significa que os departamentos de TI comuns podem agora resolver problemas que teriam exigido cientistas e supercomputadores PhD no passado.

Uma empresa realiza testes de drogas para mostrar se a nova droga funciona contra alguma doença. Este é um problema que se encaixa perfeitamente no modelo mapReduce. Neste caso, queremos executar um modelo de regressão contra um grupo de pacientes que receberam o novo medicamento e calcular a eficácia do medicamento no combate à doença.

Suponha que a droga seja uma droga contra o câncer. Nós temos pontos de dados como este:

{(nome do paciente: John, dateTime: 3/01/2016 14:00, dosagem: 10 mg, tamanho do tumor canceroso: 1 mm)}

O primeiro passo aqui, obviamente, seria calcular a mudança no tamanho do tumor de um dateTime para o próximo. Diferentes pacientes estariam tomando quantidades diferentes da droga. Então, gostaríamos de saber qual a quantidade da droga funciona melhor. Usando o mapReduce, tentaríamos reduzir esse problema para algum relacionamento linear como este:

redução percentual no tumor = x (quantidade de droga) + y (período de tempo) + valor constante

Se houver alguma correlação entre a droga e a redução do tumor, pode-se dizer que a droga funciona. O modelo também mostraria em que medida ele trabalha calculando a estatística de erro.

Resolvendo Problemas em Grande Escala

O que faz disso um avanço tecnológico são duas coisas. Primeiro, podemos processar dados não estruturados em grande escala, ou seja, dados que não se encaixam facilmente em um banco de dados relacional. Em segundo lugar, utiliza as ferramentas da ciência de dados e permite que elas executem conjuntos de dados distribuídos. No passado, esses só podiam ser executados em um único computador.

A relativa simplicidade das ferramentas mapReduce e seu poder e sua aplicação a problemas comerciais, militares, científicos e outros, explica por que o mapReduce está crescendo tão rapidamente. Esse crescimento só aumentará à medida que mais pessoas entenderem como aplicar essas ferramentas à sua situação.

About the Author

Simon Tavasoli is a Business Analytics Lead with more than 12 years of hands-on and leadership experience in various industries. He has led the development of many analytic projects that drive product and marketing initiatives. He has more than 10 years of experience teaching Data Science, Data Visualization, Predictive Analytics, and Statistics.


{{detail.h1_tag}}

{{detail.display_name}}
{{author.author_name}} {{author.author_name}}

{{author.author_name}}

{{detail.full_name}}

Published on {{detail.created_at| date}} {{detail.duration}}

  • {{detail.date}}
  • Views {{detail.downloads}}
  • {{detail.time}} {{detail.time_zone_code}}

Registrants:{{detail.downloads}}

Downloaded:{{detail.downloads}}

About the {{detail.about_title && detail.about_title != null ? detail.about_title : 'On-Demand Webinar'}}

About the {{detail.about_title && detail.about_title != null ? detail.about_title : 'Webinar'}}

Hosted By

Profile

{{author.author_name}}

{{author.author_name}}

{{author.about_author}}

About the {{detail.about_title && detail.about_title != null ? detail.about_title : 'Ebook' }}

About the {{detail.about_title && detail.about_title != null ? detail.about_title : 'Ebook' }}

View {{detail.about_title && detail.about_title != null ? detail.about_title : 'On-Demand Webinar'}}

Webcast

Register Now!

Download the {{detail.about_title && detail.about_title != null ? detail.about_title : 'Ebook'}}!

First Name*
Last Name*
Email*
Company*
Phone Number*

View {{detail.about_title && detail.about_title != null ? detail.about_title : 'On-Demand Webinar'}}

Webcast

Register Now!

{{detail.about_title && detail.about_title != null ? detail.about_title : 'Webinar'}} Expired

Download the {{detail.about_title && detail.about_title != null ? detail.about_title : 'Ebook'}}

Email
{{ queryPhoneCode }}
Phone Number

Show full article video

Name Date Place
{{classRoomData.Date}} {{classRoomData.Place}} View Details

About the Author

{{detail.author_biography}}

About the Author

{{author.about_author}}