Blog

Cómo combinar BigQuery con R: éxito garantizado.

14/08/2014

En posts anteriores ya vimos qué es Google Bigquery y también el uso de R con los 20 paquetes principales que recomendábamos. En esta ocasión vamos a ver de forma sencilla cómo combinar la potencia de Google Big Query en el almacenamiento y en las consultas con la versatilidad de R en el análisis de datos.

 

 

 

Vamos a describir de forma sencilla los pasos que debemos dar para poder utilizar Big Query con R.

 

1. Debemos registrarnos en Google Developers para poder utilizar Big Query. Una vez que nos hemos registrado accedemos a Big Query y creamos un proyecto nuevo.

 

 

 

 

 

 

2. Hay que activar la API de Google BigQuery (en la sección de APIS). Una vez que lo hemos activado se puede monitorizar (sección Monitoring dentro del proyecto) el uso que se le va dando mediante dos gráficos de seguimiento que ofrece Google.

 

 

 

 

 

 

3. Para comenzar a utilizar BigQuery desde R hay que cargar el paquete bigrquery que se puede obtener de Github o directamente cargarlo desde R mediante la librería devtools. La carga es sencilla:

 

install.packages(«devtools»)

 

library(devtools)

 

devtools::install_github(«assertthat»)

 

devtools::install_github(«bigrquery»)

 

library(bigrquery)

 

 

 

4. Ya podemos realizar consultas sobre los datos desde R directamente y manejar los resultados. Por ejemplo, si queremos realizar una consulta en BigQuery sobre los datos públicos de Google de natalidad, para analizar la evolución de las semanas de embarazo que se dan en los partos de forma histórica, podríamos utilizar la siguiente query del tipo SQL:

 

SELECT AVG( gestation_weeks ) AS avg_weeks, year
FROM [publicdata:samples.natality] 
GROUP BY year
ORDER BY year;
 

 

En R bastaría con adaptar el código de acuerdo a las funciones de la librería bigrquery. Primero seleccionamos el proyecto en el que estamos trabajando (la ID que le asignamos al crearlo). A continuación escribimos la secuencia sql y la guardamos para que el código sea más sencillo. Finalmente ejecutamos la consulta mediante la función query_exec y guardamos los resultados en queryresult.

 

 

 

bqproject<- «pruebaaspgems1»

 

sql1<-«SELECT AVG( gestation_weeks ) AS avg_weeks, year FROM [publicdata:samples.natality] GROUP BY year ORDER BY year»

 

queryresult<-query_exec(«publicdata»,»samples»,sql1,billing=bqproject)

 

 

 

5. La primera vez que se genera una consulta desde R pide la autenticación a través de web. Puede tardar un poco, pero finalmente abre una ventana en el explorador predeterminado y pide la aceptación para dar acceso a R. Una vez aceptado ya no hace falta volver a hacerlo, ya que lo va renovando automáticamente. 

 

El resultado de la consulta del punto 4 se puede utilizar en R del modo habitual para realizar cualquier tratamiento sobre los datos. Por ejemplo, haciendo uso del paquete ggplot2 que recomendamos anteriormente, podemos obtener un gráfico de línea para observar la tendencia desde 1969 de las semanas de gestación medias en los partos por cada año.

 

 

 

library(ggplot2)

 

ggplot(queryresult,aes(x=year, y=avg_weeks)) + geom_line()

 

 

 

 

 

 

Espero que os sea útil para comenzar a utilizar Google BigQuery desde R y así facilitar el posterior análisis de datos.

 

 

 

 

 

 

 

 

 

 

 

También te puede gustar…

Caso de éxito: Fronda

Caso de éxito: Fronda

Fronda, es una cadena de centros de jardinería que cuenta con una tienda online que opera por toda España con la que hemos colaborado.

ASPgems icon
C/ Sextante, 9
28023 Madrid,
España

Hablemos.

A %d blogueros les gusta esto: