Curso de big data K9: método de ajuste de chispa

Correo electrónico del autor del artículo: [email protected] Dirección: Huizhou, Guangdong

 ▲ El programa de este capítulo

⚪ Master Spark: mejor implementación de serialización;

⚪ Master Spark: usa Kryo a través del código;

⚪ Master Spark: configura múltiples directorios de archivos temporales;

⚪ Master Spark: habilita el mecanismo de ejecución especulativa;

⚪ Master Spark: evita el uso de recopilación;

⚪ Master Spark: utilice MapPartitions en lugar de map para operaciones RDD;

⚪ Master Spark: variables compartidas de Spark;

1. Ajuste de chispa—Parte 1

1. Mejor implementación de serialización

Donde Spark usa la serialización

1. Durante la reproducción aleatoria, los objetos deben escribirse en archivos temporales externos.

2. Los datos de cada partición deben enviarse al trabajador. Spark primero empaqueta el RDD en un objeto de tarea y envía la tarea al trabajador a través de la red.

3. Si RDD admite memoria + disco duro, la serialización estará involucrada siempre que los datos se escriban en el disco duro.

 El valor predeterminado es la serialización de Java. Pero hay dos problemas con la serialización de Java:

1. El rendimiento es relativamente bajo,

2. La longitud del contenido binario serializado también es relativamente grande, lo que resulta en un tiempo de transmisión de red más largo.

La industria ahora elige una mejor implementación como  kryo , que es más de 10 veces más rápida que la serialización de Java. Y la longitud del contenido generado también es corta. El tiempo es rápido y el espacio es pequeño, por lo que es una elección natural.

Método 1: modifique el archivo de configuración spark-defaults.conf.

configuración:

spark.serializer org.apache.spark.serializer.KryoSerializer 

Nota: Separe con espacios.

Método 2: configurar al iniciar spark-shell o spark-submit.

--conf chispa.serial

Supongo que te gusta

Origin blog.csdn.net/u013955758/article/details/132438261
Recomendado
Clasificación