Red de conocimiento informático - Conocimiento informático - La diferencia entre dependencia en sentido amplio y dependencia en sentido estricto

La diferencia entre dependencia en sentido amplio y dependencia en sentido estricto

1. Dependencias estrechas y dependencias amplias

Para diferentes funciones de transformación, las dependencias entre RDD se dividen en dependencias estrechas y dependencias amplias (también llamadas dependencias aleatorias).

1.1 Dependencia estrecha

La dependencia estrecha significa que una partición RDD principal corresponde a una partición RDD secundaria. En otras palabras, una partición RDD principal corresponde a una partición RDD secundaria, o varias particiones RDD primarias corresponden a una partición RDD secundaria. Por lo tanto, la estrecha relación de dependencia se puede dividir en dos situaciones:

1 partición RDD secundaria corresponde a 1 partición RDD principal, como mapa, filtro, unión y otros operadores

1 RDD secundario Una partición corresponde a N particiones RDD principales, como la unión compartida

1.2 Dependencia generalizada

La dependencia generalizada se refiere a una partición RDD principal correspondiente a múltiples particiones RDD secundarias. Las dependencias amplias se dividen en dos situaciones

Un RDD principal no corresponde a todas las particiones RDD secundarias, como groupByKey, reduceByKey, sortByKey

Un RDD principal corresponde a todas las particiones RDD secundarias Partición RDD, como uniones de particiones no cooperativas

Comparación de dependencias estrechas y dependencias amplias.png

.