Capítulo 4. Uniones Uniones (SQL y Core)
Este trabajo se ha traducido utilizando IA. Agradecemos tus opiniones y comentarios: translation-feedback@oreilly.com
Unir datos es una parte importante de muchos de nuestros pipelines, y tanto Spark Core como SQL admiten los mismos tipos fundamentales de uniones.Aunque las uniones son muy comunes y potentes, justifican una consideración especial sobre el rendimiento, ya que pueden requerir grandes transferencias de red o incluso crear conjuntos de datos más allá de nuestra capacidad de manejo.1 En el núcleo de Spark puede ser más importante pensar en el orden de las operaciones, ya que el optimizador DAG, a diferencia del optimizador SQL, no es capaz de reordenar o empujar hacia abajo los filtros.
Core Spark se une
En esta sección repasaremos las uniones de tipo RDD.Las uniones en general son caras, ya que requieren que las claves correspondientes de cada RDD se encuentren en la misma partición para poder combinarlas localmente. Si los RDD no tienen particionadores conocidos, habrá que barajarlos para que ambos RDD compartan un particionador, y los datos con las mismas claves vivan en las mismas particiones, como se muestra en la Figura 4 -1. Si tienen el mismo particionador, los datos pueden colocarse, como en la Figura 4-3, para evitar la transferencia de red. Independientemente de que los particionadores sean los mismos, si uno (o ambos) de los RDD tiene un particionador conocido, sólo se crea una estrecha dependencia, como en la