我想使用数据集而不是数据框。
我正在读取实木复合地板文件,并希望直接推断类型:
val df: Dataset[Row] = spark.read.parquet(path)
我只想要Dataset[Row]
一个Dataset
。
我知道我可以做类似的事情:
val df= spark.read.parquet(path).as[myCaseClass]
但是,我的数据有很多列!因此,如果我可以避免编写案例类,那就太好了!
为什么要使用Dataset
?我认为这是因为您不仅将拥有免费的架构(DataFrame
无论如何您都会拥有结果),还因为您将拥有类型安全的架构。
您需要Encoder
为数据集提供一个,并且需要一个能代表您的数据集和模式的类型。
您可以select
选择合理数量的列并使用,as[MyCaseClass]
还是应该接受DataFrame
提供的内容。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句