Como classificar o DataFrame com meu comparador usando o Scala?

Gostaria de classificar um DataFrame com base em uma coluna com meu próprio comparador. É possível fazer isso no Spark SQL?

Por exemplo, suponha que eu tenha um DataFrame registrado como Tabela "MyTable" com uma coluna "Day" cujo tipo é "string":

id  | Day  
--------------------
1   | Fri           
2   | Mon           
3   | Sat           
4   | Sun           
5   | Thu           

E eu quero executar esta consulta:

SELECT * FROM MyTable ORDER BY Day

Gostaria de solicitar a coluna "Dia" com meu próprio comparador. Pensei em usar uma UDF, mas não sei se é possível. Observe que realmente quero usar meu comparador nas operações Classificar / Ordenar por. Não quero converter String da coluna Day em Datetime ou algo semelhant

questionAnswers(2)

yourAnswerToTheQuestion