scala2.10.x case classes cannot have more than 22 parameters
问题
这个错误出现在case class参数超出22个的时候。
case classes cannot have more than 22 parameters
在scala 2.11.x版本以下时case class 的参数最多为22个,如果超过这个参数又不能升级时(比如目前spark依赖于2.10.x)要怎么办?
解决方案
这里举个26个参数的例子,其余情况依此类推
class ABC (
a : String,
b : String,
c : String,
d : Long,
e : Long,
f : Map[String,String],
g : List[String],
h : List[String],
i : List[String],
j : List[String],
k : List[String],
l : List[String],
m : List[String],
n : List[String],
o : List[String],
p : List[String],
q : List[String],
r : List[String],
s : List[String],
t : List[String],
u : List[String],
v : List[String],
w : List[String],
x : List[Map[String,String]],
y : List[Map[String,String]],
z : List[Map[String,String]]) extends Product with scala.Serializable {
def productElement(n: Int) = n match {
case 0 => a
case 1 => b
case 2 => c
case 3 => d
case 4 => e
case 5 => f
case 6 => g
case 7 => h
case 8 => i
case 9 => j
case 10 => k
case 11 => l
case 12 => m
case 13 => n
case 14 => o
case 15 => p
case 16 => q
case 17 => r
case 18 => s
case 19 => t
case 20 => u
case 21 => v
case 22 => w
case 23 => x
case 24 => y
case 25 => z
}
def canEqual(that: Any) = that.isInstanceOf[ABC]
def productArity = 26
}
//之后使用
new ABC(...)解决该问题
scala2.10.x case classes cannot have more than 22 parameters的更多相关文章
- Programming In Scala笔记-第十五章、Case Classes和模式匹配
本章主要分析case classes和模式匹配(pattern matching). 一.简单例子 接下来首先以一个包含case classes和模式匹配的例子来展开本章内容. 下面的例子中将模拟实现 ...
- Scala2.10.4在CentOS7中的安装与配置
随着基于内存的大数据计算框架——spark的火爆流行,用于编写spark内核的Scala语言也随之流行开来.由于其编写代码的简洁性,受到了越来越多程序员的喜爱.我今天给大家展示的时Scala2.10. ...
- Scala: Case classes
Case classes are like regular classes with a few key differences which we will go over. Case classes ...
- spark 1.6.0 安装与配置(spark1.6.0、Ubuntu14.04、hadoop2.6.0、scala2.10.6、jdk1.7)
前几天刚着实研究spark,spark安装与配置是入门的关键,本人也是根据网上各位大神的教程,尝试配置,发现版本对应最为关键.现将自己的安装与配置过程介绍如下,如有兴趣的同学可以尝试安装.所谓工欲善其 ...
- [转] 用SBT编译Spark的WordCount程序
问题导读: 1.什么是sbt? 2.sbt项目环境如何建立? 3.如何使用sbt编译打包scala? [sbt介绍 sbt是一个代码编译工具,是scala界的mvn,可以编译scala,java等,需 ...
- 用SBT编译Spark的WordCount程序
问题导读: 1.什么是sbt? 2.sbt项目环境如何建立? 3.如何使用sbt编译打包scala? sbt介绍 sbt是一个代码编译工具,是scala界的mvn,可以编译scala,java等,需要 ...
- sbt教程
更详细内容请见:http://www.scala-sbt.org/0.13/tutorial/Basic-Def.html 或者 http://wenku.baidu.com/link?url=o ...
- 详解Spark sql用户自定义函数:UDF与UDAF
UDAF = USER DEFINED AGGREGATION FUNCTION Spark sql提供了丰富的内置函数供猿友们使用,辣为何还要用户自定义函数呢?实际的业务场景可能很复杂,内置函数ho ...
- (六)6.10 Neurons Networks implements of softmax regression
softmax可以看做只有输入和输出的Neurons Networks,如下图: 其参数数量为k*(n+1) ,但在本实现中没有加入截距项,所以参数为k*n的矩阵. 对损失函数J(θ)的形式有: 算法 ...
随机推荐
- Nginx的配置中与流量分发相关的配置规范:
1.除首页外,其他页面都在某个目录中首页可以直接在根目录下,其他页面都要在根目录下的目录中.不同的location尽量使用第一个dir的模式进行区分,便于区分该流量是落在nginx本地,还是转发到后端 ...
- Qt 之 设置窗口边框的圆角(使用QSS和PaintEvent两种方法)
Qt在设置窗口边框圆角时有两种方式,一种是设置样式,另一种是在paintEvent事件中绘制窗口.下面分别叙述用这两种方式来实现窗口边框圆角的效果. 一.使用setStyleSheet方法 this- ...
- android判断网络连接状态、联网类型、运营商
/** * 获取上网方式 * * @param mContext * @return */ public static String getNetType(Context mContext) { St ...
- Intersecting Lines---poj1269(求两直线的位置关系)
题目链接:http://poj.org/problem?id=1269 题意:给你两条直线上的任意不同的两点,然后求两条直线的位置关系,如果相交于一点输出该点坐标; #include<iostr ...
- 我的工具箱之Opera浏览器
下载地址:http://pan.baidu.com/s/1gdVQA11 刚出来时挺火的,后来有点渐趋式微了.
- App Store idfa被拒检查办法
最近应用因为这个问题被拒两次,理由如下: PLA 3.3.12We found your app uses the iOS Advertising Identifier but does not in ...
- 小白教你玩转php的闭包
php5.3有一个非常赞的新特性,那就是支持匿名函数(闭包).匿名函数可用于动态创建函数,并保存到一个变量中.举个栗子: $func = function(){ exit('Hello world!! ...
- OC中@property属性关键字的使用(assign/weak/strong/copy)
OC中@property属性关键字的使用(assign/weak/strong/copy) 一.assign 用于 ‘基本数据类型’.‘枚举’.‘结构体’ 等非OC对象类型 eg:int.bool等 ...
- C# WebBrowser控件 模拟登录 抓取数据
参考博客:C#中的WebBrowser控件的使用 参考博客:C#中利用WebBrowser控件,获得HTML源码 一.问题点: 1.模拟登录后,如果带有嵌套的iframe嵌套,不好读取iframe内容 ...
- echo选项
1. echo -n不换行输出 $echo -n "123" $echo "456" 最终输出 123456 而不是 123 456 2. echo -e ...