Please enable JavaScript.
Coggle requires JavaScript to display documents.
spark-logo-rev Librerías de Spark Core, Tarea 1 M7: Librerías de Spark…
Librerías de Spark Core
Public Classes
Se refiere a la categorización y organización de las clases públicas proporcionadas por el módulo Spark Core.
Clases de administración de contexto y configuración: SparkContext y SparkConf, que se utilizan para configurar y administrar la conexión a un clúster de Spark, así como para establecer parámetros de configuración para una aplicación Spark.
Clases de estructuras de datos distribuidos: RDD (Resilient Distributed Dataset) y DataFrame, que representan conjuntos de datos distribuidos y proporcionan métodos para manipular y realizar operaciones en estos conjuntos de datos.
Clases de procesamiento y transformación de datos: Transformations y Actions en RDD, así como operaciones de manipulación de datos en DataFrames y DataSets.
Clases de administración de recursos: Gestión de recursos en un clúster de Spark, incluyendo la planificación y ejecución de tareas distribuidas y clases relacionadas con la gestión de trabajos, tareas, particiones.
Clases de utilidad y soporte: Estas clases brindan funcionalidades auxiliares y de soporte para diversas operaciones en Spark, como clases de serialización, logging, manipulación de datos internos, entre otras
Spark Context APIs:
Permiten a los desarrolladores configurar, iniciar y controlar las operaciones en un entorno distribuido de Spark.
Configuración del entorno Spark: permiten configurar el número de procesos, la configuración del clúster, la memoria asignada, el nivel de paralelismo, entre otros
Creación y manipulación de RDDs: permite crear y manipular RDDs, que son la abstracción principal para representar conjuntos de datos distribuidos en Spark. Esto incluye la creación de RDDs a partir de datos externos, la aplicación de transformaciones y acciones en RDDs, y la persistencia de RDDs en memoria o en almacenamiento persistente.
Administración de tareas y trabajos: Incluye la planificación de tareas, el monitoreo del progreso de los trabajos, la gestión de particiones y la optimización de la ejecución de tareas en paralelo.
Integración con sistemas de almacenamiento y fuentes de datos: Permiten la integración con una variedad de sistemas de almacenamiento y fuentes de datos, lo que facilita la lectura y escritura de datos desde y hacia sistemas de archivos distribuidos, bases de datos y otras fuentes de datos externas.
Gestión de recursos y control de clústeres: Incluye la asignación de recursos, la administración de nodos, la supervisión del estado del clúster y la gestión de la concurrencia y la tolerancia a fallos.
RDD APIs:
Se refieren a un conjunto de interfaces y métodos proporcionados por la clase RDD (Resilient Distributed Dataset) que permite la creación, manipulación y procesamiento de conjuntos de datos distribuidos de manera eficiente, son fundamentales para el procesamiento de datos en entornos distribuidos y proporcionan operaciones de transformación y acción para trabajar con RDDs.
Operaciones de Transformación: Variedad de operaciones de transformación que permiten modificar y manipular los conjuntos de datos distribuidos. Estas operaciones incluyen map, filter, flatMap, reduceByKey, groupByKey, sortByKey, entre otras
Operaciones de Acción: Permiten operaciones de acción para extraer datos o resultados de los conjuntos de datos distribuidos. Algunas operaciones de acción comunes incluyen collect, count, reduce, take, saveAsTextFile, entre otras. Las acciones desencadenan la ejecución de las transformaciones anteriores y devuelven resultados finales o escriben datos en un sistema de almacenamiento.
Persistencia y almacenamiento en caché: Permiten la persistencia y el almacenamiento en caché de los conjuntos de datos distribuidos en la memoria o en el almacenamiento persistente. Esto mejora el rendimiento al evitar la necesidad de recalcular los RDDs cuando se realizan múltiples acciones sobre los mismos conjuntos de datos.
Particionamiento y tolerancia a fallos: Gestionan el particionamiento de los conjuntos de datos distribuidos en el clúster y garantizan la tolerancia a fallos mediante la replicación de los datos en múltiples nodos. Esto permite que las operaciones se ejecuten de manera eficiente y que los datos se recuperen en caso de fallos en los nodos.
Broadcast and Accumulator:
Son mecanismos importantes que ayudan a mejorar el rendimiento y la eficiencia en el procesamiento de datos distribuidos. Aunque son conceptos diferentes, ambos desempeñan un papel crucial en el manejo de datos y variables distribuidas en un clúster de Spark.
Broadcast Variables: Las variables de difusión (Broadcast Variables) son utilizadas para mantener una copia inmutable de datos en cada máquina en un clúster de Spark. Esto ayuda a evitar la necesidad de enviar esta variable con cada tarea, lo que puede resultar costoso en términos de comunicación de red. Las variables de difusión se utilizan para distribuir conjuntos de datos grandes que necesitan estar disponibles en todos los nodos de manera eficiente y segura.
Accumulators: Proporcionan una forma de agregar valores de manera segura y eficiente a través de operaciones paralelas en un clúster de Spark, se utilizan para llevar a cabo tareas de agregación, como contadores o sumas, en paralelo. Son variables únicamente de escritura que se actualizan de forma distribuida mientras se ejecutan las tareas en un clúster, y solo se pueden agregar mediante operaciones de asociación y conmutación específicas para garantizar la tolerancia a fallos y la coherencia de los resultados.
Management:
Son mecanismos importantes que ayudan a mejorar el rendimiento y la eficiencia en el procesamiento de datos distribuidos. Aunque son conceptos diferentes, ambos desempeñan un papel crucial en el manejo de datos y variables distribuidas en un clúster de Spark.
Administración de recursos: Asignación y gestión eficiente de recursos computacionales en un clúster de Spark. Se ocupa de la asignación de memoria, núcleos de CPU y otros recursos a diversas tareas y operaciones en el clúster.
Planificación de tareas y trabajos: Proceso de planificación y programación de tareas y trabajos en un entorno distribuido de Spark. Esto implica la determinación del orden de ejecución de las tareas, la asignación de recursos a las tareas y la optimización de la ejecución paralela de tareas en el clúster.
Supervisión y monitoreo: Seguimiento en tiempo real y la supervisión del estado de las operaciones y tareas en el clúster de Spark. Esto incluye la supervisión de métricas de rendimiento, el control de la utilización de recursos y la detección de posibles cuellos de botella o problemas de rendimiento.
Gestión de fallos y tolerancia a fallos: La gestión de fallos y errores en un entorno distribuido de Spark. Esto implica la implementación de mecanismos de tolerancia a fallos para garantizar la fiabilidad y la disponibilidad de los datos y operaciones, incluso en caso de fallos de nodos o errores en la ejecución de tareas.
-
-
-
-
-
-