¿Cuál es una forma optimizada de unir tablas grandes en Spark SQL?

Necesito unir tablas usando Spark SQL o Dataframe API. Necesito saber cuál sería la forma optimizada de lograrlo.

El escenario es:

Todos los datos están presentes en Hive en formato ORC (marco de datos base y archivos de referencia).Necesito unir un archivo Base (Dataframe) leído de Hive con 11-13 otro archivo de referencia para crear una gran estructura en memoria (400 columnas) (alrededor de 1 TB de tamaño)

¿Cuál puede ser el mejor enfoque para lograr esto? Comparta su experiencia si alguien ha encontrado un problema similar.

Respuestas a la pregunta(2)

Su respuesta a la pregunta