Big Data Analytics: recopilación de datos

La recopilación de datos juega el papel más importante en el ciclo de Big Data. Internet proporciona fuentes de datos casi ilimitadas para una variedad de temas. La importancia de esta área depende del tipo de negocio, pero las industrias tradicionales pueden adquirir una fuente diversa de datos externos y combinarlos con sus datos transaccionales.

Por ejemplo, supongamos que nos gustaría construir un sistema que recomiende restaurantes. El primer paso sería recopilar datos, en este caso, reseñas de restaurantes de diferentes sitios web y almacenarlos en una base de datos. Como estamos interesados ​​en el texto sin formato, y lo usaríamos para análisis, no es tan relevante dónde se almacenarían los datos para desarrollar el modelo. Esto puede parecer contradictorio con las principales tecnologías de big data, pero para implementar una aplicación de big data, simplemente necesitamos hacer que funcione en tiempo real.

Mini proyecto de Twitter

Una vez definido el problema, la siguiente etapa consiste en recopilar los datos. La siguiente idea de miniproyecto es trabajar en la recopilación de datos de la web y estructurarlos para usarlos en un modelo de aprendizaje automático. Recopilaremos algunos tweets de la API de twitter rest utilizando el lenguaje de programación R.

En primer lugar, cree una cuenta de Twitter y luego siga las instrucciones del twitteRviñeta del paquete para crear una cuenta de desarrollador de Twitter. Este es un resumen de esas instrucciones:

  • Ir https://twitter.com/apps/new e inicie sesión.

  • Después de completar la información básica, vaya a la pestaña "Configuración" y seleccione "Leer, escribir y acceder a mensajes directos".

  • Asegúrese de hacer clic en el botón Guardar después de hacer esto

  • En la pestaña "Detalles", tome nota de su clave de consumidor y su secreto de consumidor

  • En su sesión de R, utilizará la clave API y los valores secretos de la API

  • Finalmente ejecute el siguiente script. Esto instalará eltwitteR paquete de su repositorio en 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 interesados ​​en obtener datos donde se incluye la cadena "big mac" y averiguar qué temas se destacan al respecto. Para hacer esto, el primer paso es recopilar los datos de Twitter. A continuación se muestra nuestro script R para recopilar los datos necesarios de Twitter. Este código también está disponible en el archivo 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