Looking at the select() function on the spark DataSet there are various generated function signatures:
select()
(c1: TypedColumn[MyClass, U1],c2: TypedColumn
In the Scala DSL for select, there are many ways to identify a Column:
select
Column
'name
$"name"
col(name)
expr("nvl(name, 'unknown') as renamed")
To get a TypedColumn from Column you simply use myCol.as[T].
TypedColumn
myCol.as[T]
For example: ds.select(col("name").as[String])
ds.select(col("name").as[String])