栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

使用Streaming读取集群端数据实现WordCount功能

使用Streaming读取集群端数据实现WordCount功能

使用Streaming读取集群端数据实现WordCount功能

使用Streaming读取集群端数据实现WordCount功能

1. 准备工作:注意spark和Scala版本兼容问题

2. 具体代码

import org.apache.spark.streaming.dstream.ReceiverInputDStream
import org.apache.spark.streaming.{Seconds, StreamingContext}
import org.apache.spark.{SparkConf, SparkContext}


object StrWC {
  def main(args: Array[String]): Unit = {
    //TODO 创建环境对象 -> StreamingContext创建时,需要传递两个参数
    //1. 环境配置 注意:核数必须 >接收器 因为要多出一个核来进行计算
    val sparkConf: SparkConf = new SparkConf().setAppName("StrWC").setMaster("local[*]")
    //2. 批处理的采集周期 Seconds(3)
    val ssc:StreamingContext = new StreamingContext(sparkConf, Seconds(3))

    //TODO 逻辑处理
    //1. 获取端口数据 开启集群打开端口 -> nc -lk 9999
    val lines: ReceiverInputDStream[String] = ssc.socketTextStream(hostname = "hadoop102", 9999)
    lines.flatMap(_.split(" "))
      .map((_, 1))
      .reduceByKey(_ + _)
      .print()
    
    //TODO 启动采集器
    //1. 启动采集器
    ssc.start()
    //2. 等待采集器的关闭 保证应用程序一直运行 被称为长程序
    ssc.awaitTermination()
  }
}

3. 打开集群和端口,运行程序并输入

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/674305.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号