首页 > spark 统计字符出现次数

spark 统计字符出现次数

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))


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


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

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

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


直接替换a为空,比较新字符串与旧字符串长度

【热门文章】
【热门文章】