================
Manuel Jesús Parra Royón manuelparra@decsai.ugr.es
PhD student. BigData time series data mining.
Departamento de Ciencias de la Computación e Inteligencia Artificial.
Distributed Computational Intelligence and Time Series Laboratory
Los objetivos del taller de SparkR son los siguientes:
- Conocer la problemática del procesamiento masivo de datos.
- Fijar concepto y práctica sobre uso R sobre Spark para el procesado masivo de datos.
- Instalar y configurar el sistema completo para poder trabajar con R y Spark.
- Trabajar con datos masivos (filtrado, agregado, transformaciones), procesar datasets masivos son SparkSQL, etc..
- Analizar datasets con las librerías de Machine Learning de los paquetes SparkR y sparklry
- Utilizar herramientas para visualizar los datos de datasets masivos.
En el taller de procesamiento masivo de datos con SparkR veremos lo siguiente:
1.- Introducción al procesamiento de datos masivos.
Breve introducción al procesamiento de datos, el problema de trabajar con grandes conjuntos de datos, Hadoop,Motivación de Spark, características, etc...
2.- Notas sobre R, Spark y SparkR
Introducción a R, motivación de R para datos 'pequeños' y datos 'grandes', Spark y sus características, biblioteca de SparkR para análisis de datos masivos con R.
3.- Instalación de las herramientas necesarias para el taller
Veremos todas las herramientas necesarias para poder trabajar con el entorno de SparkR, así como la instalación y puesta en marcha de toda la infraestructura necesaria para el taller. Inicio del entorno de trabajo habitual para trabajar en el taller.
4.- Entorno de trabajo del taller
Detalles del manejo del entorno de trabajo con JupyterNotebooks y Spark + R
5.- Inicio del entorno de trabajo
Flujo de trabajo con Spark + R
6.- Primeros pasos con SparkR
Trabajo con ejemplos de uso de Spark + R
7.- Lectura y Escritura de datos con SparkR
Trabajo con fuentes de datos, y tipos de conjuntos de datos, CSV, JSON, Parquet, ... Lectura y Escritura. Esquemas, y breve trabajo con SparkSQL.
8.- Operaciones y procesado de SparkDataFrames
Trabajamos y procesamos conjuntos de datos masivos con SparkSQL y funciones de agregación, filtrado, selección, etc. Usamos flujos de trabajo con magrittr. Revisamos la funcionalidad completa de la biblioteca de SparkR.
9.- Minería de datos con la biblioteca de SparkR
Aplicamos las técnicas de minería de datos y Machine Learning que proporciona SparkR: GLM, KMeans, NaiveBayes y AFT.
10.- Minería de datos con la biblioteca sparklyr
Utilizamos la funcionalidad de la biblioteca sparklyr
para procesar conjuntos de datos. Aplicamos los métodos de minería de datos y otras operaciones.
11.- Visualización de datos
Visualización de datos masivos con la herramienta Zeppelin (beta) y spark.ggplot2
.
La máquina virtual para el Taller completo contiene todas las herramientas necesitas para el desarrollo del trabajo, por lo tanto es la opción más sencilla para poder empezar y ponerse manos a la obra con el taller.
Descargar la máquina virtual del taller: https://drive.google.com/file/d/0ByPBMv-S_GMEakRCVVRTejZKVm8/view?usp=sharing (aprox: 4 GB)
Los datos de acceso a la Máquina Virtual son:
usuario: root
clave: sparkR
Requisitos necesarios para trabajar con la Máquina Virtual:
- Tener instalado VIRTUALBOX, disponible en: https://www.virtualbox.org/wiki/Downloads
- Disponer de al menos 2GB de RAM para la Máquina Virtual
- El PC debe ser de 64bits y contar con al menos 4GB de RAM (2GB para la MVirtual y otros 2GB para el PC)
- Compatible con Windows, Mac OSX y Linux
Dentro de la Máquina Virtual es necesario ejecutar los siguientes comandos antes de trabajar en el taller:
1 Arrancamos el entorno de Spark:
/usr/local/spark/sbin/start-all.sh
2 Arrancamos JupyterNotebook:
jupyter notebook --notebook-dir=/root/TallerSparkR --no-browser --port=8888 --ip=0.0.0.0
Hay 2 entornos de trabajo disponibles para trabajar con la Máquina Virtual en SparkR.
Para usar SparkR desde Jupyter Notebooks, accede desde tu navegador a:
http://localhost:25980
Para usar SparkR desde RStudio, accede desde tu navegador a:
http://localhost:8787
El usuario por defecto es: test
y la clave: test
Para trabajar con SparkR desde RStudio, es necesario indicar al principio de los scripts en R:
# Biblioteca y ruta absoluta a SparkR
.libPaths(c(file.path("/usr/local/spark/","R/lib/"),.libPaths()))
library(SparkR)
Puedes empezar el taller práctico (PARTE 2) tanto desde Jupyter como RStudio, siguiendo los siguientes enlaces a la documentación:
-
Parte 1. Teoría: Presentación del taller, Procesamiento masivo de datos, R+Spark+SparkR, Instalación de las herramientas, Entorno de trabajo
-
Parte 2. S05. Minería de datos y Machine Learning con SparkR
-
Parte 2. S06. Minería de datos y Machine Learning con sparklyr
-
Parte 2. S07. Visualización de datos masivos con SparkR y Zeppelin