Análise Mahout utilizando Spark, para as entradas de 10, 25, 50, 100M utilizando 0, 1, 2, 3 e 7 slaves.
# Carrregando bibliotecas
library(dplyr)
library(ggplot2)
# Carregando dados
mahout <- read.csv("~/Projetos/AnaliseDSL/spark-mahout.csv")
# Transformando em númerico
mahout$time_in_minute <- as.numeric(gsub(",", ".", mahout$time_in_minute))
mahout$time_in_hour <- as.numeric(gsub(",", ".", mahout$time_in_hour))
# Agrupando por input size e slaves
mahout <- group_by(mahout, input_size,slaves)
# Média dos minutos por slaves
data_byMin <- summarise(mahout, mean(time_in_minute))
colnames(data_byMin) <- c("input_size","slaves","time_in_minute")
data_byMin$slaves <- as.factor(data_byMin$slaves)
data_byMin$input_size <- as.factor(data_byMin$input_size)
ggplot(data=data_byMin, aes(x=slaves, y=time_in_minute, group=input_size, colour=input_size)) +
geom_line() +
geom_point() +
labs(y='Média dos tempos em minutos', x='Número de slaves', title = "Mahout-Spark") +
coord_cartesian(ylim = c(0, 550)) +
theme(panel.background=element_blank())
ggplot(data=data_byMin, aes(x=slaves, y=time_in_minute, group=input_size, colour=input_size)) +
geom_line() +
geom_point() +
labs(y='Média dos tempos em minutos', x='Número de slaves', title = "Mahout-Spark") +
coord_cartesian(ylim = c(0, 75)) +
theme(panel.background=element_blank())
Análise DSL, para as entradas de 10, 25, 50, 100M utilizando 0, 1, 2, 3 e slaves.
# Carregando dados
dsl <- read.csv("~/Projetos/AnaliseDSL/dsl.csv")
# Transformando em númerico
dsl$time_in_minute <- as.numeric(gsub(",", ".", dsl$time_in_minute))
dsl$time_in_hour <- as.numeric(gsub(",", ".", dsl$time_in_hour))
# Agrupando por input size e slaves
dsl <- group_by(dsl, input_size,slaves)
# Em minutos
data_byMin_dsl <- summarise(dsl, mean(time_in_minute))
colnames(data_byMin_dsl) <- c("input_size","slaves","time_in_minute")
data_byMin_dsl$slaves <- as.factor(data_byMin_dsl$slaves)
data_byMin_dsl$input_size <- as.factor(data_byMin_dsl$input_size)
# Gráfico com todas as entradas
ggplot(data=data_byMin_dsl, aes(x=slaves, y=time_in_minute, group=input_size, colour=input_size)) +
geom_line() +
geom_point() +
labs(y='Média dos tempos em minutos', x='Número de slaves', title = "DSL") +
coord_cartesian(ylim = c(0, 550)) +
theme(panel.background=element_blank())
# Gráfico com as entradas 10, 25, 50M
ggplot(data=data_byMin_dsl, aes(x=slaves, y=time_in_minute, group=input_size, colour=input_size)) +
geom_line() +
geom_point() +
labs(y='Média dos tempos em minutos', x='Número de slaves', title = "DSL") +
coord_cartesian(ylim = c(0, 75)) +
theme(panel.background=element_blank())
Essa análise foi criada com o intuito de comparar as execuções utilizando a DSL com a execução utilizando Mahout-Spark.
# Criando nova coluna
mahout$execução <- "Mahout"
dsl$execução <- "DSL"
# Criando novos data frames. Um para cada número de slaves
dsl_0 <- dsl %>%
filter(input_size == 10) %>%
filter(slaves == 0)
mahout_0 <- mahout %>%
filter(input_size == 10) %>%
filter(slaves == 0)
dsl_1 <- dsl %>%
filter(input_size == 10) %>%
filter(slaves == 1)
mahout_1 <- mahout %>%
filter(input_size == 10) %>%
filter(slaves == 1)
dsl_2 <- dsl %>%
filter(input_size == 10) %>%
filter(slaves == 2)
mahout_2 <- mahout %>%
filter(input_size == 10) %>%
filter(slaves == 2)
dsl_3 <- dsl %>%
filter(input_size == 10) %>%
filter(slaves == 3)
mahout_3 <- mahout %>%
filter(input_size == 10) %>%
filter(slaves == 3)
# Teste de hipotese
testdsl <- t.test(dsl_0$time_in_minute)
testmahout <- t.test(mahout_0$time_in_minute)
# Intervalo de confiança
ic_1 = c(testdsl$conf.int[1],testdsl$conf.int[2])
ic_2 = c(testmahout$conf.int[1],testmahout$conf.int[2])
samples <- rbind(dsl_0,mahout_0)
# Criando tabela para o gráfico
toPlot <- summarise(group_by(samples, execução, input_size,slaves), mean = mean(time_in_minute))
toPlot$lower <- c(ic_1[1],ic_2[1])
toPlot$upper <- c(ic_1[2],ic_2[2])
# Teste de hipotese
testdsl <- t.test(dsl_1$time_in_minute)
testmahout <- t.test(mahout_1$time_in_minute)
# Intervalo de confiança
ic_1 = c(testdsl$conf.int[1],testdsl$conf.int[2])
ic_2 = c(testmahout$conf.int[1],testmahout$conf.int[2])
samples <- rbind(dsl_1,mahout_1)
# Criando tabela para o gráfico
toPlot_1 <- summarise(group_by(samples, execução, input_size,slaves), mean = mean(time_in_minute))
toPlot_1$lower <- c(ic_1[1],ic_2[1])
toPlot_1$upper <- c(ic_1[2],ic_2[2])
toPlot <- rbind(toPlot,toPlot_1)
# Teste de hipotese
testdsl <- t.test(dsl_2$time_in_minute)
testmahout <- t.test(mahout_2$time_in_minute)
# Intervalo de confiança
ic_1 = c(testdsl$conf.int[1],testdsl$conf.int[2])
ic_2 = c(testmahout$conf.int[1],testmahout$conf.int[2])
samples <- rbind(dsl_2,mahout_2)
# Criando tabela para o gráfico
toPlot_1 <- summarise(group_by(samples, execução, input_size,slaves), mean = mean(time_in_minute))
toPlot_1$lower <- c(ic_1[1],ic_2[1])
toPlot_1$upper <- c(ic_1[2],ic_2[2])
toPlot <- rbind(toPlot,toPlot_1)
testdsl <- t.test(dsl_3$time_in_minute)
testmahout <- t.test(mahout_3$time_in_minute)
# Intervalo de confiança
ic_1 = c(testdsl$conf.int[1],testdsl$conf.int[2])
ic_2 = c(testmahout$conf.int[1],testmahout$conf.int[2])
samples <- rbind(dsl_3,mahout_3)
# Criando tabela para o gráfico
toPlot_1 <- summarise(group_by(samples, execução, input_size,slaves), mean = mean(time_in_minute))
toPlot_1$lower <- c(ic_1[1],ic_2[1])
toPlot_1$upper <- c(ic_1[2],ic_2[2])
toPlot <- rbind(toPlot,toPlot_1)
toPlot_new_x <- filter(toPlot, execução == "DSL")
toPlot_new_x$new_x <- toPlot_new_x$slaves + 0.1
toPlot_new <- filter(toPlot, execução == "Mahout")
toPlot_new$new_x <- toPlot_new$slaves
toPlot <- rbind(toPlot_new,toPlot_new_x)
ggplot(toPlot, aes(x = new_x, y=mean, colour = execução )) +
geom_point() +
geom_errorbar(aes(ymin=lower, ymax=upper), width=.1) +
labs(y='Média do tempo em min', x='Número de slaves', title = "Input 10M") +
theme(panel.background=element_blank())
# Criando novos data frames. Um para cada número de slaves
dsl_1 <- dsl %>%
filter(input_size == 25) %>%
filter(slaves == 1)
mahout_1 <- mahout %>%
filter(input_size == 25) %>%
filter(slaves == 1)
dsl_2 <- dsl %>%
filter(input_size == 25) %>%
filter(slaves == 2)
mahout_2 <- mahout %>%
filter(input_size == 25) %>%
filter(slaves == 2)
dsl_3 <- dsl %>%
filter(input_size == 25) %>%
filter(slaves == 3)
mahout_3 <- mahout %>%
filter(input_size == 25) %>%
filter(slaves == 3)
# Teste de hipotese
testdsl <- t.test(dsl_1$time_in_minute)
testmahout <- t.test(mahout_1$time_in_minute)
# Intervalo de confiança
ic_1 = c(testdsl$conf.int[1],testdsl$conf.int[2])
ic_2 = c(testmahout$conf.int[1],testmahout$conf.int[2])
samples <- rbind(dsl_1,mahout_1)
# Criando tabela para o gráfico
toPlot <- summarise(group_by(samples, execução, input_size,slaves), mean = mean(time_in_minute))
toPlot$lower <- c(ic_1[1],ic_2[1])
toPlot$upper <- c(ic_1[2],ic_2[2])
# Teste de hipotese
testdsl <- t.test(dsl_2$time_in_minute)
testmahout <- t.test(mahout_2$time_in_minute)
# Intervalo de confiança
ic_1 = c(testdsl$conf.int[1],testdsl$conf.int[2])
ic_2 = c(testmahout$conf.int[1],testmahout$conf.int[2])
samples <- rbind(dsl_2,mahout_2)
# Criando tabela para o gráfico
toPlot_1 <- summarise(group_by(samples, execução, input_size,slaves), mean = mean(time_in_minute))
toPlot_1$lower <- c(ic_1[1],ic_2[1])
toPlot_1$upper <- c(ic_1[2],ic_2[2])
toPlot <- rbind(toPlot,toPlot_1)
testdsl <- t.test(dsl_3$time_in_minute)
testmahout <- t.test(mahout_3$time_in_minute)
# Intervalo de confiança
ic_1 = c(testdsl$conf.int[1],testdsl$conf.int[2])
ic_2 = c(testmahout$conf.int[1],testmahout$conf.int[2])
samples <- rbind(dsl_3,mahout_3)
# Criando tabela para o gráfico
toPlot_1 <- summarise(group_by(samples, execução, input_size,slaves), mean = mean(time_in_minute))
toPlot_1$lower <- c(ic_1[1],ic_2[1])
toPlot_1$upper <- c(ic_1[2],ic_2[2])
toPlot <- rbind(toPlot,toPlot_1)
toPlot_new_x <- filter(toPlot, execução == "DSL")
toPlot_new_x$new_x <- toPlot_new_x$slaves + 0.1
toPlot_new <- filter(toPlot, execução == "Mahout")
toPlot_new$new_x <- toPlot_new$slaves
toPlot <- rbind(toPlot_new,toPlot_new_x)
ggplot(toPlot, aes(x = new_x, y=mean, colour = execução )) +
geom_point() +
geom_errorbar(aes(ymin=lower, ymax=upper), width=.1) +
scale_x_discrete(limits=c("1","2","3")) +
labs(y='Média do tempo em min', x='Número de slaves', title = "Input 25M") +
theme(panel.background=element_blank())
# Criando nova coluna
mahout$execução <- "Mahout"
dsl$execução <- "DSL"
# Criando novos data frames. Um para cada número de slaves
dsl_1 <- dsl %>%
filter(input_size == 50) %>%
filter(slaves == 1)
mahout_1 <- mahout %>%
filter(input_size == 50) %>%
filter(slaves == 1)
dsl_2 <- dsl %>%
filter(input_size == 50) %>%
filter(slaves == 2)
mahout_2 <- mahout %>%
filter(input_size == 50) %>%
filter(slaves == 2)
dsl_3 <- dsl %>%
filter(input_size == 50) %>%
filter(slaves == 3)
mahout_3 <- mahout %>%
filter(input_size == 50) %>%
filter(slaves == 3)
# Teste de hipotese
testdsl <- t.test(dsl_1$time_in_minute)
testmahout <- t.test(mahout_1$time_in_minute)
# Intervalo de confiança
ic_1 = c(testdsl$conf.int[1],testdsl$conf.int[2])
ic_2 = c(testmahout$conf.int[1],testmahout$conf.int[2])
samples <- rbind(dsl_1,mahout_1)
# Criando tabela para o gráfico
toPlot <- summarise(group_by(samples, execução, input_size,slaves), mean = mean(time_in_minute))
toPlot$lower <- c(ic_1[1],ic_2[1])
toPlot$upper <- c(ic_1[2],ic_2[2])
# Teste de hipotese
testdsl <- t.test(dsl_2$time_in_minute)
testmahout <- t.test(mahout_2$time_in_minute)
# Intervalo de confiança
ic_1 = c(testdsl$conf.int[1],testdsl$conf.int[2])
ic_2 = c(testmahout$conf.int[1],testmahout$conf.int[2])
samples <- rbind(dsl_2,mahout_2)
# Criando tabela para o gráfico
toPlot_1 <- summarise(group_by(samples, execução, input_size,slaves), mean = mean(time_in_minute))
toPlot_1$lower <- c(ic_1[1],ic_2[1])
toPlot_1$upper <- c(ic_1[2],ic_2[2])
toPlot <- rbind(toPlot,toPlot_1)
testdsl <- t.test(dsl_3$time_in_minute)
testmahout <- t.test(mahout_3$time_in_minute)
# Intervalo de confiança
ic_1 = c(testdsl$conf.int[1],testdsl$conf.int[2])
ic_2 = c(testmahout$conf.int[1],testmahout$conf.int[2])
samples <- rbind(dsl_3,mahout_3)
# Criando tabela para o gráfico
toPlot_1 <- summarise(group_by(samples, execução, input_size,slaves), mean = mean(time_in_minute))
toPlot_1$lower <- c(ic_1[1],ic_2[1])
toPlot_1$upper <- c(ic_1[2],ic_2[2])
toPlot <- rbind(toPlot,toPlot_1)
toPlot_new_x <- filter(toPlot, execução == "DSL")
toPlot_new_x$new_x <- toPlot_new_x$slaves + 0.1
toPlot_new <- filter(toPlot, execução == "Mahout")
toPlot_new$new_x <- toPlot_new$slaves
toPlot <- rbind(toPlot_new,toPlot_new_x)
ggplot(toPlot, aes(x = new_x, y=mean, colour = execução )) +
geom_point() +
geom_errorbar(aes(ymin=lower, ymax=upper), width=.1) +
scale_x_discrete(limits=c("1","2","3")) +
labs(y='Média do tempo em min', x='Número de slaves', title = "Input 50M") +
theme(panel.background=element_blank())
# Criando nova coluna
mahout$execução <- "Mahout"
dsl$execução <- "DSL"
# Criando novos data frames. Um para cada número de slaves
dsl_2 <- dsl %>%
filter(input_size == 100) %>%
filter(slaves == 2)
mahout_2 <- mahout %>%
filter(input_size == 100) %>%
filter(slaves == 2)
dsl_3 <- dsl %>%
filter(input_size == 100) %>%
filter(slaves == 3)
mahout_3 <- mahout %>%
filter(input_size == 100) %>%
filter(slaves == 3)
# Teste de hipotese
testdsl <- t.test(dsl_2$time_in_minute)
testmahout <- t.test(mahout_2$time_in_minute)
# Intervalo de confiança
ic_1 = c(testdsl$conf.int[1],testdsl$conf.int[2])
ic_2 = c(testmahout$conf.int[1],testmahout$conf.int[2])
samples <- rbind(dsl_2,mahout_2)
# Criando tabela para o gráfico
toPlot <- summarise(group_by(samples, execução, input_size,slaves), mean = mean(time_in_minute))
toPlot$lower <- c(ic_1[1],ic_2[1])
toPlot$upper <- c(ic_1[2],ic_2[2])
testdsl <- t.test(dsl_3$time_in_minute)
testmahout <- t.test(mahout_3$time_in_minute)
# Intervalo de confiança
ic_1 = c(testdsl$conf.int[1],testdsl$conf.int[2])
ic_2 = c(testmahout$conf.int[1],testmahout$conf.int[2])
samples <- rbind(dsl_3,mahout_3)
# Criando tabela para o gráfico
toPlot_1 <- summarise(group_by(samples, execução, input_size,slaves), mean = mean(time_in_minute))
toPlot_1$lower <- c(ic_1[1],ic_2[1])
toPlot_1$upper <- c(ic_1[2],ic_2[2])
toPlot <- rbind(toPlot,toPlot_1)
toPlot_new_x <- filter(toPlot, execução == "DSL")
toPlot_new_x$new_x <- toPlot_new_x$slaves + 0.1
toPlot_new <- filter(toPlot, execução == "Mahout")
toPlot_new$new_x <- toPlot_new$slaves
toPlot <- rbind(toPlot_new,toPlot_new_x)
ggplot(toPlot, aes(x = new_x, y=mean, colour = execução )) +
geom_point() +
geom_errorbar(aes(ymin=lower, ymax=upper), width=.1) +
scale_x_discrete(limits=c("1","2","3")) +
labs(y='Média do tempo em min', x='Número de slaves', title = "Input 100M") +
theme(panel.background=element_blank())