Clasificación explícita en la transformación cartesiana en Scala Spark

Estoy usando la transformación cartesiana en Spark Scala. Si mi entrada consta de 4 elementos (podrían ser números / caracteres / tupla), diga

var myRDD=sc.parallelize(Array("e1","e2","e3","e4"))

myRDD.cartesian (myRDD) produciría todas las combinaciones posibles de pares, pero no necesariamente en orden. ¿Cuál es una forma inteligente de poner esos pares en orden? es decir

Array((e1,e1), (e1,e2), (e1,e3), (e1,e4), (e2,e1), (e2,e2), (e2,e3), (e2,e4), (e3,e1), (e3,e2), (e3,e3), (e3,e4), (e4,e1), (e4,e2), (e4,e3), (e4,e4))

Respuestas a la pregunta(2)

Su respuesta a la pregunta