about云开发

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 2102|回复: 4

新手求助,刚开始编写程序,出现application does not take parameters错误

[复制链接]

8

主题

2

听众

0

收听

中级会员

Rank: 3Rank: 3

积分
309
发表于 2018-3-13 10:34:52 | 显示全部楼层 |阅读模式
跪求大神们带领小渣渣入门spark。编写应用程序时候使用的是parallellize方法,传入的对象明明是List(Vector)类型的,但是在指定vector下标时出现application does not take parameters错误。一直没想明白,还请大神多多指教。具体内容见附图所示
a.png

456

主题

372

听众

217

收听

版主

Rank: 7Rank: 7Rank: 7

积分
4828
发表于 2018-3-13 12:53:23 | 显示全部楼层
本帖最后由 hyj 于 2018-3-13 12:54 编辑

妈呀,这程序写成这样了。从头到尾,都有语法错误。你想干嘛吧。说说你的思路。
欢迎加入about云群425860289432264021 ,云计算爱好者群,关注about云腾讯认证空间

171

主题

34

听众

36

收听

高级会员

Rank: 4

积分
3969

最佳新人活跃会员热心会员

发表于 2018-3-13 13:47:40 | 显示全部楼层
楼主需要首先明白map的含义,一般通过map是对里面的元素做处理,楼主那样做,从实际意义来讲是没有任何用的。
map本身里面是有for循环的。
你传入的是一个集合,但是经过map后,操作的却是里面的每个元素,你再把里面的元素组合为集合,里面既有元素,又有集合。所以肯定会产生问题。
欢迎加入about云群425860289432264021 ,云计算爱好者群,关注about云腾讯认证空间

8

主题

2

听众

0

收听

中级会员

Rank: 3Rank: 3

积分
309
 楼主| 发表于 2018-3-13 14:32:33 | 显示全部楼层
hyj 发表于 2018-3-13 12:53
妈呀,这程序写成这样了。从头到尾,都有语法错误。你想干嘛吧。说说你的思路。

数据格式是下面图中的内容,其中第一列(即“1”和“2”)作为标签,后面其余列都为特定的测量参数,主要想把相同标签下的每种参数测量值加起来求平均值,也就是说,下图中从第二列开始,按标签将对应列加起来求平均值。
b.png

171

主题

34

听众

36

收听

高级会员

Rank: 4

积分
3969

最佳新人活跃会员热心会员

发表于 2018-3-13 20:22:17 | 显示全部楼层
1601365 发表于 2018-3-13 14:32
数据格式是下面图中的内容,其中第一列(即“1”和“2”)作为标签,后面其余列都为特定的测量参数,主要 ...

这里说下核心代码,首先排序,然后相同的相加,不同的跳出。那么如何相加,可以通过mapPartitions实现.如下x是每一个元素。下面假设只有一个字段。多个字段同理。假如一个字段:i,然后i不断的记录获取总之,然后除以个数,最后得到平均值。

var rdd2 = rdd1.mapPartitions{ x => {
     | var result = List[Int]()
     |     var i = 0
     |     while(x.hasNext){
     |       i += x.next()
     |     }
     |     result.::(i).iterator
     | }}

楼主可以试下。如果不行,就贴出舒俱来。

欢迎加入about云群425860289432264021 ,云计算爱好者群,关注about云腾讯认证空间
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

QQ|小黑屋|about云开发-学问论坛|社区 ( 京ICP备12023829号

GMT+8, 2018-9-21 03:10 , Processed in 0.414092 second(s), 32 queries , Gzip On.

Powered by Discuz! X3.2 Licensed

快速回复 返回顶部 返回列表