scala - 使用 df.as[T] 和 df.asInstanceOf[Dataset[T]] 有什么区别?
问题描述
df.as[T]
如标题所述,使用和之间的主要区别是什么df.asInstanceOf[Dataset[T]]
?
解决方案
首先,asInstanceOf
只是告诉编译器闭嘴并相信你是类df
的一个实例(由于类型擦除,T 部分无关紧要)。在运行时,如果该值不是该类的实例,您将得到一个异常;在这种情况下,它永远不会。Dataset
另一方面,as
是在 Dataset 类中定义的一个方法,它要求一个隐式编码器,以便它可以安全地转换数据;请注意,由于数据是在运行时处理的,因此转换仍可能失败。
所以区别很大,你不应该使用前者。
推荐阅读
- angular - 使用 Angular 9 的产品和价格变化
- python - 如何解决 StaleElementReferenceException: Message: stale element reference: element is not attach 错误使用 Selenium Ubuntu EC2 使用 Python
- sql - 有人用 PostgRest 和 Postgresql 成功实现了 SQL 用户管理吗?
- java - 在 onActivityResult() 中处理多个 requestCode 的正确方法是什么?
- windows-10 - 防止在 Windows 中打开 PWA 的 PWA 的多个实例
- c# - 为什么我的绑定不适用于我的财产?
- authentication - 工业环境中 Web 应用身份验证的最佳实践
- gpt - 在linux中,fsck gpt外置硬盘失败
- docker - 如何修复 docker-compose.yml?预期的
, 但发现 ' ' - sql - Bigquery 中的 STRING_AGG