Se produjo un error de sintaxis durante la inicialización de win10 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.