I wonder how to avoid casting Any to String but rather use pattern matching.
Having collected a dataframe from spark like df.select('column).first.toSeq.head
Direct casting sort of is a workaround  df.select('column).first.toSeq.head.asInstanceOf[String], but 
I would prefer to use scala native pattern matching like
val collectedFromSpark: Any = "someString"
  val realString:String = collectedFromSpark match{
    case s:String => _
    case _ => throw new Exception("expected something else")
  }
However, realString:String only receives Any and not String.
How can I formulate this cast in a scala native way?
                        
Change your case to this:
Now it will know that
sis aString.