
Scala Data Analysis Cookbook
Arun Manivannan
- Editorial
- Packt
- Año
- 2015
- Páginas
- ~254
- Nivel
- Intermedio
De qué trata
Recetario técnico escrito por Arun Manivannan y publicado por Packt, orientado al procesamiento analítico distribuido y al aprendizaje automático sobre la máquina virtual de Java utilizando Scala (específicamente Scala 2.10/2.11 y Apache Spark 1.x). Está diseñado para ingenieros de software, analistas y científicos de datos con conocimientos previos de la sintaxis de Scala y del paradigma funcional que desean procesar grandes volúmenes de datos sin recurrir a lenguajes interpretados.
El contenido expone más de 100 recetas prácticas que articulan herramientas punteras del entorno Scala: la biblioteca Breeze para álgebra lineal y cómputo numérico vectorial, Apache Spark y sus DataFrames para manipulación distribuida, Spark MLlib y Spark ML para construcción de canalizaciones de aprendizaje automático (clasificación, regresión y clustering), Apache Zeppelin y Bokeh-Scala para análisis exploratorio y visualización en libretas interactivas, y el manejo de formatos de almacenamiento columnar optimizado como Parquet. Asimismo, incluye recetas para el empaquetado de aplicaciones con sbt, integración con Spark Streaming y GraphX, y el despliegue en gestores de clústeres como Hadoop YARN, Apache Mesos y entornos en la nube como AWS EC2.
La práctica se estructura mediante recetas individuales centradas en tareas operativas de ingesta, depuración de datos distribuidos, transformaciones mediante funciones definidas por el usuario (UDF) y puesta en marcha de modelos predictivos a escala. Destaca por ilustrar cómo aprovechar la tipificación estática y el rendimiento de Scala frente a alternativas en Python o R, aunque debe tenerse en cuenta que sus ejemplos reflejan la API de Spark 1.x previa a la unificación con Datasets de Spark 2+. Deja fuera la enseñanza inicial del lenguaje Scala, por lo que resulta indispensable dominar previamente la programación funcional y la gestión de dependencias en la JVM.
- Scala
- Apache Spark
- Spark DataFrames
- Spark MLlib
- Breeze
- Apache Zeppelin
- Procesamiento distribuido
- Parquet
- Spark Streaming
- Despliegue en clusters (YARN/Mesos)
¿Cómo enseña?
Con ejercicios
- ✓ Incluye ejercicios
- ✗ Sin proyectos

