1

我想使用数据集而不是数据框。

我正在阅读镶木地板文件并想直接推断类型:

val df: Dataset[Row] = spark.read.parquet(path)

我不想要Dataset[Row]一个Dataset.

我知道我可以做类似的事情:

val df= spark.read.parquet(path).as[myCaseClass]

但是,我的数据有很多列!所以,如果我可以避免编写案例类,那就太好了!

4

1 回答 1

2

为什么要与 a 合作Dataset?我认为这是因为您不仅将拥有免费的架构(DataFrame无论如何您都拥有结果),而且因为您将拥有一个类型安全的架构。

您需要有一个Encoder用于数据集的数据集,并且要拥有它,您需要一个代表您的数据集和模式的类型。

要么你select的列数量合理并使用as[MyCaseClass],要么你应该接受所DataFrame提供的。

于 2016-08-17T02:06:59.727 回答