Introducción y principio de funcionamiento de Spark
/p/34436165
/p/70424613
Spark es un motor informático rápido y versátil diseñado para el procesamiento de datos a gran escala. Es un marco paralelo general para Hadoop MapReduce, Spark, que tiene las ventajas de Hadoop MapReduce pero es diferente de MapReduce: los resultados de salida intermedios del trabajo se pueden guardar en la memoria, por lo que no es necesario leer ni escribir HDFS. por lo que Spark puede mejorar el algoritmo MapReduce, adecuado para la minería de datos y el aprendizaje automático que requieren iteración.
1.RDD: es la abreviatura de Resilient Distributed Dataset. Es un concepto abstracto de memoria distribuida y proporciona un modelo de memoria compartida altamente restringido.
2.DAG: Es la abreviatura de Gráfico Acíclico Dirigido (Gráfico Acíclico Dirigido), que refleja la relación de dependencia entre RDD. Si un gráfico dirigido no puede comenzar desde un vértice y regresar a ese punto a través de varias aristas, entonces el gráfico es un gráfico acíclico dirigido (gráfico DAG).
3. Programa Driver: Programa de control, responsable de construir el gráfico DAG para la Aplicación.
4.Cluster Manager: Centro de gestión de recursos del cluster, responsable de la asignación de recursos informáticos.
5. Nodo Trabajador: Nodo trabajador, responsable de completar cálculos específicos.
6. Ejecutor: Es un proceso que se ejecuta en el Nodo Trabajador, responsable de ejecutar Tareas y almacenar datos para las aplicaciones.
7.Aplicación: Aplicación Spark escrita por el usuario. Una aplicación contiene múltiples trabajos.
8.Trabajo: Un trabajo contiene múltiples RDD y varias operaciones que actúan sobre los RDD correspondientes.
9. Etapa: La etapa es la unidad de programación básica de un trabajo. Un trabajo se divide en múltiples grupos de tareas, y cada grupo de tareas se denomina "etapa".
10.Tarea: La tarea, una unidad de trabajo que se ejecuta en el Ejecutor, es un hilo en el Ejecutor.
1. Cree el entorno de ejecución de la aplicación Spark e inicie SparkContext
2. SparkContext se aplica al administrador de recursos (puede ser independiente, Mesos, Yarn) para ejecutar los recursos del Ejecutor e inicia StandaloneExecutorbackend.
3.El ejecutor solicita la tarea desde SparkContext
4.SparkContext distribuye la aplicación al ejecutor
5.SparkContext crea un gráfico DAG y descompone el DAG. grafica al escenario, envía el conjunto de tareas al programador de tareas y, finalmente, el programador de tareas envía la tarea al ejecutor para su ejecución
6. La tarea se ejecuta en el ejecutor y todos los recursos se liberan después de ejecutarse p>