我们想升级到最新版本的spark和scala。我对Scala还是很陌生,并且想知道如何重写下面的代码,因为最新版本的DataFrameWriter需要使用类型参数。
这是我们使用旧版本进行指定的方式。
def saveText(fs: FileSystem, path: String, writer:
DataFrameWriter): Unit = {
val fullPath = fs.getFullPath(path)
writer.text(fullPath)
}
答案 0 :(得分:0)
在Scala中,当您拥有参数化类型A[T]
时,可以将“任何事物都参数化”称为A[_]
。因此,您的函数可以很简单:
def saveText(fs: FileSystem, path: String, writer: DataFrameWriter[_]): Unit =
writer.text(fs.getFullPath(path))