Scala 报错:java.lang.UnsupportedOperationException: fieldIndex on a Row without schema is undefined.
报错代码:
val row = Row("1", "2", "3")
row.getAs[String]("a")
错误原因:创建row
的时候没有给定fieldIndex
。
查看了一下Row
的源码,创建row
对象的时候,实际上是调用了new GenericRow()
方法,创建了个GenericRow
对象,然后这个对象继承了Row
这个特质,在这个名为Row的这个特质里面:
有一个getAs的方法,这个方法就是我在上文中调用的方法(然后无情的报了错误,残忍!!!),这个方法里面调用了一个fieldIndex()