sparkStreaming wordcount累加

1.目的

    对netcat输出的单词按时间5s分片进行单词计数

2.素材

启动linux上的netcat程序

    nc -lk 9999

不断输入字符

    hello world hi world

3.代码

/**
  * Created by puwenchao on 2016-08-19.
  */

import org.apache.log4j.{Level, Logger}
import org.apache.spark._
import org.apache.spark.streaming._
import org.apache.spark.storage.StorageLevel

object streamingwc{
  def main(args:Array[(String)]): Unit ={

    //设置日志等级
    Logger.getLogger("org.apache.spark").setLevel(Level.WARN)
    Logger.getLogger("org.eclipse.jetty.server").setLevel(Level.OFF)

    //创建SparkStreaming上下文,并设置时间间隔5s
    val conf=new SparkConf().setAppName("streamingwc").setMaster("local[2]")
    val ssc=new StreamingContext(conf,Seconds(5))

    //设置数据来源与持久化政策
    val lines=ssc.socketTextStream("192.168.252.164",9999,StorageLevel.MEMORY_ONLY)
    //执行单词计数
    val wc=lines.flatMap(_.split(" ")).map(x=>(x,1)).reduceByKey(_+_)
    //打印离散流中的条目
    wc.print()

    //开始计算
    ssc.start()
    //等待计算终结
    ssc.awaitTermination()
  }
}

4.输出

    -------------------------------------------

    Time: 1471574670000 ms

    -------------------------------------------

    (hello,1)

    (world,2)

    (hi,1)

转载于:https://my.oschina.net/puwenchao/blog/735238

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值