消息关闭
    暂无新消息!

spark 统计字符出现次数

问题作者 : 半农2017-05-08发布

spark-shell,读入json文件后,我想统计一个字符串属性上的'a'字符出现的次数,因为刚刚接触,只想到了一个比较笨的办法,先按'a' split,然后数组长度-1就是出现次数:

val sqlContext = new org.apache.spark.sql.SQLContext(sc)
val test_data = sqlContext.read.json("music.json")
test_data.registerTempTable("test_data")
val temp1 = sqlContext.sql("select user.id_str as userid, text from test_data")
val temp2 = temp1.map(t => (t.getAs[String]("userid"),t.getAs[String]("text").split('a').length-1))


但这个方法老报错,具体为什么还不知道?有没有什么快捷可行的办法计算?


2个回答

︿ 0

在scala中统计字符出现次数最标准的方法应该是

"abcdaaaa".count(_ == 'a')

你可以在scala的REPL中试一下,至于spark,应该类似吧