拼写错误:value countBykey is not a member of org.apache.spark.rdd.RDD[(String, Int)]

今天写了一行代码,感觉很简单啊,怎么报错呢,后来一看是一个超级低级错误, 大小写搞错了,countByKey写成了countBykey,所以Spark的算子大小写一定不要搞错,有可能会报上面的错误。

scala> sc.textFile("E:\\eventype").map(_.split("\\|")).map(x=>(x(0)+"|"+x(1),1)).countBykey()

:23: error: value countBykey is not a member of
org.apache.spark.rdd.RDD[(String, Int)]
sc.textFile(“E:\eventype”).map(_.split(“|”)).map(x=>(x(0)+”|”+x(1),1)).countBykey()
^

正确的应该是

scala> val eventRDD = sc.textFile("E:\\eventype").map(_.split("\\|")).map(x=>(x(0)+"|"+x(1),1)).countByKey().map{ line =>
val cell= line._1.split("\\|")(0)
val eventype=line._1.split("\\|")(1)
val count = line._2
(cell,eventype,count)
}

由于在windows下的spark-shell换行可能会有写问题,可以写到一行

scala> val eventRDD = sc.textFile("E:\\eventype").map(_.split("\\|")).map(x=>(x(0)+"|"+x(1),1)).countByKey().map{line => val cell= line._1.split("\\|")(0);val eventype=line._1.split("\\|")(1);val count = line._2;(cell,eventype,count)}

换行会打印出来
这里写图片描述

学习scala和spark编程,推荐在Windows下简单配置,最快的速度去学习。只要下载一个Spark的包解压,设置对应的SPARK_HOME和Path环境变量,就可以直接使用cmd或者PowerShell试验你写的程序了,我是ultraedit写好的,如果用IDE可能不会有上面的问题,各有利弊。

我的配置

SPARK_HOME=F:\spark-1.5.2-bin-hadoop2.3
Path=%SPARK_HOME%\bin;

打开Power Shell,输入spark-shell即可使用。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值