Que es spark big data

Inicio » Que es spark big data

Que es spark big data

tutorial de apache spark

Apache Spark se ha convertido en uno de los principales marcos de computación en clúster del mundo. Spark puede desplegarse de numerosas maneras, como en el aprendizaje automático, el flujo de datos y el procesamiento de gráficos. Spark soporta lenguajes de programación como Python, Scala, Java y R. En esta sección, entenderemos qué es Apache Spark .

Apache Spark es una plataforma líder rápida, flexible y fácil de desarrollar para SQL a gran escala, aprendizaje automático, procesamiento por lotes y procesamiento de flujos. Es esencialmente un marco de procesamiento de datos que tiene la capacidad de realizar rápidamente tareas de procesamiento en conjuntos de datos muy grandes. También es capaz de distribuir las tareas de procesamiento de datos entre varios ordenadores, ya sea por sí mismo o junto con otras herramientas de computación distribuida.

Para procesar grandes almacenes de datos se requiere una enorme potencia de cálculo. Parte de la carga de programación de estas tareas la asume Spark. Trabajar con una API fácil de usar elimina gran parte del trabajo servil y de alta intensidad de la computación distribuida y el procesamiento de big data.

mapa de spark

Apache Spark es un marco de procesamiento de datos que puede realizar rápidamente tareas de procesamiento en conjuntos de datos muy grandes, y también puede distribuir las tareas de procesamiento de datos a través de múltiples ordenadores, ya sea por sí solo o en conjunto con otras herramientas de computación distribuida. Estas dos cualidades son clave en el mundo de los grandes datos y el aprendizaje automático, que requieren la movilización de una enorme potencia de cálculo para analizar grandes almacenes de datos. Spark también libera a los desarrolladores de algunas de las cargas de programación de estas tareas con una API fácil de usar que abstrae gran parte del trabajo pesado de la computación distribuida y el procesamiento de big data.

A nivel fundamental, una aplicación Apache Spark consta de dos componentes principales: un controlador, que convierte el código del usuario en múltiples tareas que pueden distribuirse entre los nodos de trabajo, y los ejecutores, que se ejecutan en esos nodos y ejecutan las tareas asignadas a ellos. Es necesario algún tipo de gestor de clústeres para mediar entre ambos.

Spark puede ejecutarse en un modo de clúster independiente que simplemente requiere el marco de Apache Spark y una JVM en cada máquina de su clúster. Sin embargo, es más probable que quieras aprovechar un sistema de gestión de recursos o clústeres más robusto que se encargue de asignar trabajadores bajo demanda por ti. En la empresa, esto normalmente significará ejecutar en Hadoop YARN (así es como las distribuciones de Cloudera y Hortonworks ejecutan los trabajos de Spark), pero Apache Spark también puede ejecutarse en Apache Mesos, Kubernetes y Docker Swarm.

código spark

Apache Spark es un motor de análisis unificado de código abierto para el procesamiento de datos a gran escala. Spark proporciona una interfaz para programar clusters con paralelismo de datos implícito y tolerancia a fallos. Desarrollado originalmente en el AMPLab de la Universidad de California, Berkeley, el código base de Spark fue donado posteriormente a la Apache Software Foundation, que lo mantiene desde entonces.

Apache Spark tiene su base arquitectónica en el conjunto de datos distribuidos resilientes (RDD), un conjunto múltiple de elementos de datos de sólo lectura distribuidos en un clúster de máquinas, que se mantiene de forma tolerante a fallos[2] La API Dataframe se lanzó como una abstracción sobre el RDD, seguida de la API Dataset. En Spark 1.x, la RDD era la principal interfaz de programación de aplicaciones (API), pero a partir de Spark 2.x se fomenta el uso de la API de conjuntos de datos[3] aunque la API de RDD no está obsoleta[4][5] La tecnología RDD sigue siendo la base de la API de conjuntos de datos[6][7].

Spark y sus RDD se desarrollaron en 2012 en respuesta a las limitaciones del paradigma de computación en clúster MapReduce, que obliga a una estructura de flujo de datos lineal particular en los programas distribuidos: Los programas MapReduce leen los datos de entrada del disco, mapean una función a través de los datos, reducen los resultados del mapa y almacenan los resultados de la reducción en el disco. Los RDD de Spark funcionan como un conjunto de trabajo para programas distribuidos que ofrece una forma (deliberadamente) restringida de memoria compartida distribuida[8].

spark para dummies

Este es el primer artículo de la serie «Procesamiento de Big Data con Apache Spark». Por favor, vea también: Parte 2: Spark SQL, Parte 3: Spark Streaming, Parte 4: Spark Machine Learning, Parte 5 Spark ML Data Pipelines, Parte 6 Graph Data Analytics with Spark GraphX.

Apache Spark es un marco de procesamiento de big data de código abierto construido en torno a la velocidad, la facilidad de uso y la analítica sofisticada. Fue desarrollado originalmente en 2009 en el AMPLab de la Universidad de Berkeley, y abierto en 2010 como proyecto Apache.

En primer lugar, Spark nos ofrece un marco completo y unificado para gestionar los requisitos de procesamiento de big data con una variedad de conjuntos de datos de naturaleza diversa (datos de texto, datos de gráficos, etc.), así como la fuente de los datos (datos por lotes frente a datos de flujo en tiempo real).

Además de las operaciones de Map and Reduce, admite consultas SQL, datos en flujo, aprendizaje automático y procesamiento de datos de gráficos. Los desarrolladores pueden utilizar estas capacidades de forma independiente o combinarlas para que se ejecuten en un único caso de uso de canalización de datos.

En esta primera entrega de la serie de artículos sobre Apache Spark, veremos qué es Spark, cómo se compara con una solución típica de MapReduce y cómo proporciona un conjunto completo de herramientas para el procesamiento de big data.

Scroll al inicio
Ir arriba