【发布时间】:2017-02-25 02:01:45
【问题描述】:
我正在尝试创建一个 Scala 特征,用作许多解析器的基本特征。我有许多案例类将存储解析的数据集。所有这些案例类都扩展了 Parseable 特征。
有些类会返回
Array[C <: Parseable]
其他
Dataset[C <: Parseable]
如何定义 Parser trait 以使 parse() 函数返回上述任一数据结构?
【问题讨论】:
-
您能否详细说明一下所有这些案例类都扩展了 Parseable 特征。?你能举一个解析器的具体例子吗?扩展可解析特征的案例类对我来说有点不自然。
-
我会试试的!我有许多带有管道分隔数据的不同文本文件。每个文件都需要以不同的方式进行解析,因此我正在尝试创建一组解析器,每个解析器都将扩展 Parser 特征。文件解析的最终结果将是一个包含解析数据的案例类。每个案例类都扩展了可放松的特征。由于各种原因,解析器生成的案例类列表可能是 Array 或 Spark 数据集,因此需要通用返回类型。我想确保返回的列表只能是 Parseable 的子类型。
标签: scala