spark中将topN条写到本地文件中

来源:互联网 发布:淘宝卖家改评价链接 编辑:程序博客网 时间:2024/06/05 19:52
//求出url的topN// 先排好序,排好序后在取val sorted = urlCount.sortBy(x=>x,false)//我就想将前三条写入文件中/* var sum=0val top3 = sorted.map(x => {  if (sum > 3)    // *******Return statements aren't allowed in Spark closures  在Spark中return不能跳出map********     // ******** 在这里for循环也不能用,for循环处理的是迭代器,map中是一条一条输入的********     // return    sum += 1  x})*/// 可以先执行一次收集,在将收集到的通过parallelize 转换成RDD val take: Array[(String, Int)] = sorted.take(3)val top3: RDD[(String, Int)] = sc.parallelize(take)// 使用RDD 将其写入文件中top3.saveAsTextFile("F:\\requestTop5.dat")sc.stop()
原创粉丝点击