使用df.as[T]和df.asInstanceOf[Dataset[T]]有什么区别?
如标题中所述, usingdf.as[T]和之间的主要区别是什么df.asInstanceOf[Dataset[T]]?
回答
首先,asInstanceOf只是告诉编译器闭嘴并相信你这df是Dataset类的一个实例(由于类型擦除,T 部分无关紧要)。在运行时,如果该值不是该类的实例,则会出现异常;在这种情况下,它永远不会。
另一方面,as是在 Dataset 类中定义的一个方法,它要求一个隐式编码器,以便它可以安全地转换数据;请注意,由于数据是在运行时处理的,因此转换可能仍会失败。
所以差别很大,你不应该使用前者。
THE END
二维码