如何为 Apache Spark 数据集中的枚举列编写案例类?

Posted

技术标签:

【中文标题】如何为 Apache Spark 数据集中的枚举列编写案例类?【英文标题】:How to write case class for enum column in Apache Spark Dataset? 【发布时间】:2016-01-30 06:57:18 【问题描述】:
story1, 10, small
story2, 20, medium
sotry3, 3, small
story4, 50, xlarge

我想将我的数据转换为数据集。我有一个列名 storyType(小、中、大、xlarge)。所以我不知道在这种情况下如何编写我的案例类

case class Story(name:String, point: Int, storyType: ???)

【问题讨论】:

列的类型是什么? 列的所有内容都是字符串,但我想将此列转换为枚举类型。 【参考方案1】:

试试

sealed trait StoryType
case object small extends StoryType
case object medium extends StoryType
case object large extends StoryType
case object xlarge extends StoryType

【讨论】:

以上是关于如何为 Apache Spark 数据集中的枚举列编写案例类?的主要内容,如果未能解决你的问题,请参考以下文章

从数据集中的现有列创建新列 - Apache Spark Java

如何为严密的防火墙配置 Apache Spark 随机工作端口?

Scala Spark,如何为列添加值

如何为 Spark SQL 中的posexplode 列提供别名?

如何为 apache spark worker 更改每个节点的内存

使用 Java 在 Apache Spark 中从数据集中复制一行 n 次