spark 统计字符出现次数

发布于 2022-09-02 16:03:39 字数 503 浏览 15 评论 0

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


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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

甜尕妞 2022-09-09 16:03:39

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

睫毛溺水了 2022-09-09 16:03:39

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

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

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

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文