【问题标题】:case classes in scala does not accept more than 22 parameters [duplicate]scala中的案例类不接受超过22个参数[重复]
【发布时间】:2014-08-05 18:24:04
【问题描述】:

这是 SPARK-SQL 特有的挑战,我无法应用两个突出显示的答案

我正在用 SPARK-SQL 编写复杂的数据处理逻辑。

这是我遵循的过程,

  1. 为具有所有属性的表定义案例类。
  2. 将其注册为表。
  3. 使用 SQLContext 进行查询。

我遇到了一个问题,因为 Scala 只允许 22 个参数,而我的表有 50 列。我能想到的唯一方法是破坏数据集,使其具有 22 个参数,然后在最后组合它们。它看起来不像一个干净的方法。有没有更好的方法来解决这个问题?

【问题讨论】:

  • 嗨,这个问题略有不同,因为我在 SPARK-SQL 中应用它。 Spark 目前不针对 SCALA 2.11 构建,并且创建一个类(而不是案例类)不是一个选项,因为我需要应用聚合函数并且 SPARK-SQL 无法识别这一点..

标签: apache scala


【解决方案1】:

切换到 Scala 2.11,案例类字段限制消失了。 Release notesIssue.

【讨论】:

  • 请注意元组,匿名。函数参数。仍然有这个限制,但是是的,案例类消除了它。
  • 但是Spark与scala 2.11版本不兼容,如何规避呢?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-09-03
  • 1970-01-01
  • 2013-12-28
  • 2016-07-14
  • 1970-01-01
相关资源
最近更新 更多