Nesta seção descrevemos os resultados obtidos nas execuções com os arcabouços de pro- cessamento de big data Hadoop e Spark.
Antes de descrevermos os resultados obtidos na comparação das execuções entre o Hadoop e o Spark, primeiro iremos descrever as aplicações utilizadas dentro desses ar- cabouços de processamento de big data. A primeira é a aplicação de cálculo do Pi. A aplicação estima o valor do Pi utilizando o método quasi-Monte Carlo. Alguns pontos são gerados de maneira randômica em um quadrado com um círculo dentro. Então, os pontos de dentro e fora do círculo são contados e os cálculos necessários para o cálculo do Pi são realizados [1].
A segunda é a aplicação de contagem de palavras (word count ). A aplicação analisa um arquivo de texto e conta com qual frequência uma determinada palavra aparece no texto. O arquivo é quebrado em outros arquivos menores pelo nó mestre (VM Master ) que são enviados para os nós clientes (VMs Workers) realizarem a análise e devolverem a quantidade de palavras contadas ao nó mestre (VM Master ).
Outra aplicação utilizada para validar o nosso modelo foi a aplicação de ranqueamento de páginas (Page rank ). O algoritmo de ranqueamento de páginas (Page rank ) fornece uma distribuição de probabilidade usada para representar a probabilidade de uma pessoa clicar aleatoriamente em links e chegar a uma determinada página [24]. Essa aplicação é desenvolvida para ser executada utilizando os recursos de análise adotados pelo Spark, por isso não a comparamos com o Hadoop.
O cálculo do Pi no arcabouço de processamento de big data Hadoop levou aproxima- damente 12 segundos para ser concluído. O nó mestre (VM Master ) dividiu o processo em 50 maps, cada map contendo 1000 pontos.
Já no arcabouço de processamento de big data Spark, o cálculo do Pi levou aproxima- damente 13 segundos para ser concluído. A quantidade de maps e o número de pontos por map são os mesmos da execução com o Hadoop.
Para a aplicação de contagem de palavras (word count ) nós utilizamos arquivos de texto simples, no formato txt, nos tamanhos 5, 10, 25, 50 e 100 gigabytes (Gbs).
Antes que os arquivos possam ser analisados pelo Hadoop e pelo Spark, primeiro eles precisam ser copiados para o sistema de arquivos distribuído do Hadoop (HDFS ). Essa cópia demanda um certo tempo, quanto maior o arquivo, maior o tempo necessário para ser copiado para o HDFS.
A Tabela 7.4 exibe os tempos médios aproximados (em minutos) para realizar a cópia dos arquivos para o HDFS. Os tempos computados foram para arquivos de tamanhos 5, 10, 25, 50 e 100 Gbs. A nuvem privada mostrou um desempenho ligeiramente melhor (um minuto) para realizar a cópia para o HDFS de arquivos pequenos, entre 5 e 10 Gb. No entanto, a nuvem híbrida (que possui mais recursos computacionais) obteve melhor desempenho ao copiar os arquivos de 25, 50 e 100 Gbs para o HDFS.
Após os arquivos terem sido completamente transferidos para o HDFS, as aplicações Hadoop e Spark passam a ter acesso aos dados para serem analisados. A Tabela 7.5 exibe os resultados aproximados (em minutos) para as execuções da aplicação de contagem de
Tabela 7.4: Tempos médios de cópia (aproximado) dos arquivos para o HDFS (em minutos).
Ambiente Tamanho do arquivo (Gbs)
5 10 25 50 100
Nuvem Privada 2 6 20 41 77 Nuvem Híbrida 3 7 17 36 60
palavras (word count ) no Hadoop e no Spark.
A primeira linha da Tabela 7.5 exibe os tempos médios aproximados (em minutos) para as execuções dos arquivos de 5, 10, 25, 50 e 100 Gbs na aplicação de contagem de palavras com o Hadoop, no cenário onde somente as máquinas virtuais localizadas na nuvem privada foram utilizadas para as execuções da análise.
A segunda linha da Tabela 7.5 fornece os tempos médios aproximados (em minutos) para as execuções dos mesmos arquivos na aplicação de contagem de palavras com o Hadoop, porém agora no cenário de nuvem híbrida. A máquina virtual do nó mestre (VM Master ), que é responsável pela gerência dos clusters criados no Hadoop permanece na nuvem privada. A Figura 7.2 exibe o gráfico de execução comparando o Hadoop com o Spark para esse cenário com intervalo de confiança de 90%.
A terceira linha da Tabela 7.5 exibe os tempos médios aproximados (em minutos) para as execuções dos arquivos de 5, 10, 25, 50 e 100 Gbs na aplicação de contagem de palavras com o Spark, no cenário onde somente as máquinas virtuais do cluster localizadas na nuvem privada foram utilizadas para as execuções das análises.
A quarta linha da Tabela 7.5 fornece os tempos médios aproximados (em minutos) para as execuções dos mesmos arquivos na aplicação de contagem de palavras com o Spark no cenário de nuvem híbrida. No entanto, a versão do Spark, utilizada no nosso trabalho, não permite combinar recursos provenientes de diferentes faixas de IPs para um mesmo cluster. A máquina virtual do nó mestre (Master ) possui dois IPs de faixas diferentes, um proveniente da rede virtual da nuvem privada e outro proveniente da rede virtual da nuvem pública. Com isso, nós configuramos o cluster da nuvem híbrida contendo somente a máquina virtual do nó mestre (VM Master ) na nuvem privada e os nós clientes (VMs Workers) localizados na nuvem pública. A Figura 7.2 exibe o gráfico de execução comparando o Hadoop com o Spark para esse cenário com intervalo de confiança de 90%. Após as rodadas de execuções, o desempenho da aplicação de contagem de palavras word count se mostrou melhor quando executada pelo Hadoop na plataforma de nuvem híbrida, como podemos observar na Figura 7.2.
Tabela 7.5: Tempos médio de execução (aproximados) da aplicação de contagem de palavras (word count ) para Hadoop e Spark (em minutos).
Ambiente Tamanho do arquivo (Gb)
5 10 25 50 100
Nuvem Privada (Hadoop) 47 115 262 570 1381 Nuvem Híbrida (Hadoop) 19 37 91 183 380
Nuvem Privada (Spark ) 25 45 109 213 431 Nuvem Híbrida (Spark ) 19 36 89 207 391
0 50 100 150 200 250 300 350 400 0 10 20 30 40 50 60 70 80 90 100
Execution time (minutes)
File size (Gb)
Spark Hadoop
Figura 7.2: Tempos médios de execução da aplicação de contagem de palavras word count no Hadoop e no Spark na nuvem híbrida.
A Figura 7.3 exibe os tempos médios das execuções da aplicação de ranqueamento de páginas (Page rank ) com intervalo de confiança de 90%. Novamente nesse cenário, a aplicação de ranqueamento de página do Spark utiliza uma máquina virtual como nó mestre (VM Master ) na nuvem privada e as máquinas virtuais com os nós clientes (VMs Workers) estão localizados na nuvem pública, formando o cluster na nuvem híbrida.
0 100 200 300 400 500 600 700 0 10 20 30 40 50 60 70 80 90 100
Execution time (minutes)
File size (Gb)
Figura 7.3: Tempos de execução da aplicação de Page Rank no Spark.