Una de las tareas más importantes de un data scientist radica en tener un amplio conocimiento de los sistemas, lenguajes, procesos y herramientas para gestionar el Big Data, de manera que pueda reconocer cuál es la mejor opción según el interés del estudio.
Por ello, es importante aprender cómo funciona Apache Spark, un sistema de computación muy popular y demandado dentro del mundo Big Data. Por ello, en este post, te exponemos un breve glosario de ocho conceptos clave de Apache Spark para que lo conozcas mejor.
Spark Stack
Spark Stack es el sistema informático de la arquitectura de Apache Spark. Posee una gran variedad de componentes con los que se desarrolla. Su principal objetivo radica en que dichos componentes logren potenciarse por medio del motor central del sistema. A continuación, te compartimos cuáles son estos factores fundamentales de esta parte de la arquitectura de Apache Spark: Spark Core, Spark SQL, Spark Streaming, Spark Structured Streaming, Spark Mlib y Spark GraphX.
Spark Core
Spark Core o Corazón de Spark, en español, es la API (Interfaz de aplicación) para el procesamiento en batch. En efecto, dicha API es la base para la construcción de todas las APIs y contiene la base de gestiones de los recursos, los clústeres y la interacción con los datos.
Spark SQL
Es la API de Spark que permite trabajar con datos estructurados y semiestructurados. Además, permite realizar consultas SQL sobre los datos. Existen varias formas para trabajar con Spark SQL:
- Dataframe: conjunto de datos organizados en columnas. Es equivalente a una tabla relacional. Estos pueden construirse a través de ficheros estructurados, tablas en Hive, base de datos externas, o RRDs existentes, Scala, Java, Python, R, etc.
- Dataset: conjunto de datos distribuidos que permiten usar Spark SQL con los beneficios de los RDDs: tipado fuerte, transformaciones funcionales, etc.
- SQL: lenguaje con sintaxis SQL.
Spark Streaming
Es el procesamiento de datos en streaming, utiliza conceptos de microbatches con latencia de milisegundos.
Spark Structured Streaming
Spark Structured Streaming es un motor de streaming processing construido sobre el motor de SparkSQL. Su principal fin radica en que permite expresar el procesamiento en streaming, al igual que se logra con el procesamiento en batch.
Spark Mlib
Spark MLlib es una librería que forma parte de los fundamentos de Spark Stack y que te permite hacer jobs y usar los algoritmos de Machine Learning en modo distribuido. En suma, este framework proporciona:
- ML Algortihms: clasificación, regresión, clusterizado y filtros colaborativos.
- Featurization: extracción de features, transformaciones, reducción de dimensiones.
- Pipelines: herramientas para construir, evaluar y tunear modelos de ML.
- Persistence: salvar y guardar modelos y pipelines.
- Utilidades: trabajar con datos, estadísticas, álgebra lineal…
Spark GraphX
Este proporciona el procesamiento de grafos distribuidos dentro de la arquitectura de Apache Spark. Para ello, debes saber que un grafo se compone de vertex y edge. Asimismo, este es uno de los fundamentos de Spark Stack.
Spark Shell
Spark Shell en Apache Spark consiste en que, en la distribución de este sistema, contiene un binario spark-shell. De manera que proporciona una REPL (Read Evaluate Print Loop o Bucle leer, ejecutar e imprimir) interactiva para trabajar con Apache Spark.
Aprende más del Big Data
En este post, has podido aprender ocho de los conceptos clave de Apache Spark para el manejo del Big Data. Aun así, desde KeepCoding sabemos que aún falta mucho por aprender.
Nuestro Bootcamp Full Stack Big Data, Inteligencia Artificial & Machine Learning es ideal para que alcances tus metas. En él, verás cómo el análisis exploratorio de datos es el primer paso que todo data scientist tiene que tomar. Para ello, es fundamental tener un buen conocimiento de estadística que te permita saber si ciertas variables tienen relación o no, o si varios grupos de datos se pueden considerar diferentes o iguales. Un buen análisis estadístico te proporcionará respuestas que pueden complementar algún modelo posterior de Machine Learning más complejo. ¿A qué estás esperando para empezar? ¡Apúntate ya!