看着select()
Spark DataSet 上的函数有各种生成的函数签名:
(c1: TypedColumn[MyClass, U1],c2: TypedColumn[MyClass, U2] ....)
这似乎暗示我应该能够直接引用 MyClass 的成员并且类型安全,但我不确定如何......
ds.select("member")
当然有效..看起来像ds.select(_.member)
也可能以某种方式起作用?
在 Scala DSL 中select
,有很多方法可以识别Column
:
- 从一个符号:
'name
- 从字符串:
$"name"
or col(name)
- 从一个表达式来看:
expr("nvl(name, 'unknown') as renamed")
为了得到一个TypedColumn
from Column
你只需使用myCol.as[T]
.
例如:ds.select(col("name").as[String])
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)