Análise de Big Data - Coleta de Dados

A coleta de dados desempenha o papel mais importante no ciclo de Big Data. A Internet oferece fontes quase ilimitadas de dados para uma variedade de tópicos. A importância dessa área depende do tipo de negócio, mas os setores tradicionais podem adquirir uma fonte diversificada de dados externos e combiná-los com seus dados transacionais.

Por exemplo, vamos supor que gostaríamos de construir um sistema que recomendasse restaurantes. O primeiro passo seria reunir dados, neste caso, avaliações de restaurantes de diferentes sites e armazená-las em um banco de dados. Como estamos interessados ​​em texto bruto e usaríamos isso para análises, não é tão relevante onde os dados para desenvolver o modelo seriam armazenados. Isso pode parecer contraditório com as principais tecnologias de big data, mas para implementar um aplicativo de big data, simplesmente precisamos fazê-lo funcionar em tempo real.

Mini Projeto Twitter

Uma vez definido o problema, a etapa seguinte é a coleta dos dados. A ideia do miniprojeto a seguir é trabalhar na coleta de dados da web e estruturá-los para serem usados ​​em um modelo de aprendizado de máquina. Vamos coletar alguns tweets da API do resto do Twitter usando a linguagem de programação R.

Em primeiro lugar, crie uma conta no Twitter e, em seguida, siga as instruções no twitteRvinheta de pacote para criar uma conta de desenvolvedor do Twitter. Este é um resumo dessas instruções -

  • Vamos para https://twitter.com/apps/new e faça login.

  • Após preencher as informações básicas, vá até a guia "Configurações" e selecione "Ler, escrever e acessar mensagens diretas".

  • Certifique-se de clicar no botão Salvar após fazer isso

  • Na guia "Detalhes", anote sua chave e segredo do consumidor

  • Em sua sessão R, você usará a chave API e os valores secretos da API

  • Finalmente execute o seguinte script. Isso irá instalar otwitteR pacote de seu repositório no github.

install.packages(c("devtools", "rjson", "bit64", "httr"))  

# Make sure to restart your R session at this point 
library(devtools) 
install_github("geoffjentry/twitteR")

Estamos interessados ​​em obter dados onde a string "big mac" está incluída e em descobrir quais tópicos se destacam sobre isso. Para fazer isso, a primeira etapa é coletar os dados do twitter. Abaixo está nosso script R para coletar os dados necessários do Twitter. Este código também está disponível no arquivo bda / part1 / collect_data / collect_data_twitter.R.

rm(list = ls(all = TRUE)); gc() # Clears the global environment
library(twitteR)
Sys.setlocale(category = "LC_ALL", locale = "C")

### Replace the xxx’s with the values you got from the previous instructions

# consumer_key = "xxxxxxxxxxxxxxxxxxxx"
# consumer_secret = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"

# access_token = "xxxxxxxxxx-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"

# access_token_secret= "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"

# Connect to twitter rest API
setup_twitter_oauth(consumer_key, consumer_secret, access_token, access_token_secret)

# Get tweets related to big mac
tweets <- searchTwitter(’big mac’, n = 200, lang = ’en’)
df <- twListToDF(tweets)

# Take a look at the data
head(df)

# Check which device is most used
sources <- sapply(tweets, function(x) x$getStatusSource())
sources <- gsub("</a>", "", sources)
sources <- strsplit(sources, ">")
sources <- sapply(sources, function(x) ifelse(length(x) > 1, x[2], x[1]))
source_table = table(sources)
source_table = source_table[source_table > 1]
freq = source_table[order(source_table, decreasing = T)]
as.data.frame(freq)

#                       Frequency
# Twitter for iPhone       71
# Twitter for Android      29
# Twitter Web Client       25
# recognia                 20