Red de conocimiento informático - Problemas con los teléfonos móviles - Se produjo un error de sintaxis durante la inicialización de win10 sparkcontext.

Se produjo un error de sintaxis durante la inicialización de win10 sparkcontext.

SparkContext es el punto de entrada para la ejecución del programa y SparkContext representa una aplicación. Para comprender en profundidad el mecanismo de ejecución de SparkContext, primero debe comprender el proceso de inicialización de Sparkcontext.

Inicialización de SparkContext

Definición de SparkContext

El parámetro de construcción es SparkConf, que almacena información de configuración relacionada con SparkConf. Verifique la definición de Sparkconf.

SparkConf usa ConcurrentHashMap para almacenar diversa información de configuración y todas las variables de entorno que comienzan con spark. Se cargará durante la inicialización.

Inicialización de SparkContext

Verifique el código correspondiente a la inicialización

Clone la variable spark conf y luego determine si existen spark.master y spark.app.name. . Si es el modo de clúster YARN, debe configurar spark.yarn.app.id, luego la información del host y del puerto del controlador y, finalmente, los archivos jar y los archivos, y luego verificar.

Si _eventLogDir registra la información del tiempo de ejecución está controlada por spark.eventLog.enabled y spark.eventLog.dir. Si se comprime esta información _eventLogCodec, spark externalblockstore establece el nombre del directorio para el almacenamiento local en tiempo de ejecución. Es un fluido aleatorio "chispa". tostring(). Si es el modo cliente de hilo, establezca SPARK_YARN_MODE = true, use JobProgressListener para rastrear la información de tiempo de ejecución mostrada por la interfaz de usuario y, finalmente, cree un objeto SparkEnv. El proceso de creación de SparkEnv involucra muchas clases principales en Spark-Core.

Ver createSparkEnv

Continuar mirando SparkEnv.createDriverEnv

Obtenga la información del host y el puerto y llame al método de creación.

Continúe observando el método de creación.

Cree un SecurityManager relacionado con la seguridad y configúrelo a través de spark.authenticate.

Crear un sistema de mensajería distribuida basado en Akka requiere más procesos de creación, que no se describirán aquí. Finalmente, veamos qué objetos inicializa SparkEnv.

Los objetos enumerados en la figura anterior casi cubren las clases principales de Spark-Core y se analizarán por separado en el futuro. En este punto, se ha creado SparkEnv.

Luego, el SparkEnv.set(_env) anterior (debido a limitaciones de espacio, el código en la interfaz de usuario puede omitirse), _metadataCleaner usa TimerTask para limpiar persistenteRdd regularmente, lee la configuración de hadoop y agrega las rutas de jar y archivo en El servidor de archivos de rpcEnv lee variables relacionadas con Executor. El parámetro importante es la memoria de ejecución.

Luego, _heartbeatReceiver se basa en el mecanismo de latido predeterminado de Netty. Crea SchedulerBackend para enviar tareas, crea taskScheduler y dagScheduler, obtiene applicationId, inicia el sistema de medición y obtiene eventLogger.

Con respecto a la asignación dinámica de recursos de Executor, executorAllocationManager crea un limpiador de contexto para limpiar RDD caducado, mezclar y transmitir, inicia ListenerBus, publica información del entorno y de la aplicación y finalmente agrega un enlace para garantizar que el contexto se detenga. , finalizando así todo el proceso de inicialización de Sparkcontext.

-

Autor: Mr_JieLQ

Fuente: CSDN

Texto original: /u 011564172/article/details/54927873

Declaración de derechos de autor: este artículo es un artículo original del blogger. Adjunte un enlace al blog al reimprimir.