Spark StructType VS 案例类

Posted

技术标签:

【中文标题】Spark StructType VS 案例类【英文标题】:Spark StructType VS Case Class 【发布时间】:2020-11-13 07:05:40 【问题描述】:

我知道Case Class 是最小的常规类,StructType 是一个 spark 数据类型,它是 StructFields 的集合。

但我们可以同时使用Case ClassStructType 以类似的方式创建数据帧和其他用例。

想了解

在什么情况下我们应该选择一个而不是另一个以及为什么? 在某些情况下我们必须使用其中一个,而不能使用另一个?

【问题讨论】:

观看 Scala 世界大会的视频:youtube.com/watch?v=zXipqCcVmQM 和 youtube.com/watch?v=LafWXI37mcw 【参考方案1】:

没有真正的方面来定义现在哪个更好。

Case 有 22 个字段的限制,但不再是这种情况了。

我觉得case 比定义结构更容易使用。回答 irt 数据帧。

【讨论】:

以上是关于Spark StructType VS 案例类的主要内容,如果未能解决你的问题,请参考以下文章

如何将火花行(StructType)投射到scala案例类

在火花数据框中使用案例类的好处[重复]

如何从包含枚举的案例类创建 Spark 数据集或数据框

udf spark Scala 返回案例类

如何将具有嵌套StructType的列转换为Spark SQL中的类实例?

将带有joda.DateTime的案例类的DStream转换为Spark DataFrame