如何解决数据类型UDT与Spark SQL中的编码器
在Spark sql中,Schema
有limited DataType
s,还有limited Encoder
s用于将JVM对象与内部Spark sql表示形式相互转换。
- 实际上,我们可能会遇到与
DataType
有关的此类错误,通常会在带有自定义类型的DataFrame
中发生,而在Dataset[T]
中具有但不是自定义类型。对DataType
(或UDT
)的讨论指向How to define schema for custom type in Spark SQL?
- 实际上,我们可能会遇到与
Encoder
有关的此类错误,通常会在带有自定义类型的Dataset[T]
中发生,而在DataFrame
中具有但不是自定义类型。对Encoder
的讨论指向How to store custom objects in Dataset?
无法找到数据集中存储的类型的编码器。导入sqlContext.implicits支持基本类型(Int,String等)和产品类型(案例类)。_在将来的版本中将添加对序列化其他类型的支持
据我了解,两者都涉及内部Spark sql优化器(这就是为什么仅提供有限数量的DataType
和Encoder
的原因);然后DataFrame
和Dataset
都只是Dataset[A]
。
问题(或更多..混乱)
本文的主要目的是在这两个概念中进行更多的探索,并吸引公开讨论,因此,如果问题不太具体,请耐心等待。并感谢您分享理解。谢谢。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。