import org.apache.spark.streaming.kafka.KafkaUtils

import org.apache.spark.streaming.{Milliseconds, StreamingContext}

/*

需求:kafka消费数据到sparkStreaming计算

*/

object KafkaWordCount {

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

//1.创建StreamingContext

val conf: SparkConf = new SparkConf().setAppName(“kafkaWordCount”).setMaster(“local[2]”)

val ssc: StreamingContext = new StreamingContext(conf,Milliseconds(2000))

//2.接入kafka数据源(如何访问kafka集群?zookeeper)

val zkQuorm: String = “192.168.64.111,192.168.64.112,192.168.64.113”

//访问组

val groupID = “g1”

//访问主题

val topic: Map[String, Int] = MapString,Int

//创建Dstream

val kafkaStream: ReceiverInputDStream[(String, String)] = KafkaUtils

.createStream(ssc,zkQuorm,groupID,topic)

//3.处理数据

val data: DStream[String] = kafkaStream.map(_._2)

//4.启动streaming程序

val r: DStream[(String, Int)] = data.flatMap(.split(" ")).map((,1)).reduceByKey(+)

r.print()

ssc.start()

//5.关闭资源

ssc.awaitTermination()

}

}

结果

在这里插入图片描述

2.0版本单词计数

将历史记录保存下来,显示出来,主要使用dataFunc

package day08

import org.apache.spark.{HashPartitioner, SparkConf}

import org.apache.spark.streaming.dstream.{DStream, ReceiverInputDStream}

import org.apache.spark.streaming.kafka.KafkaUtils

import org.apache.spark.streaming.{Milliseconds, StreamingContext}

object StatusKafkaWordCount {

//保持历史状态 wc 单词,次数 聚合的key

//第一个类型:单词,第二个类型:在每一个分区中出现的次数累加的结果

//第三个类型:是以前的结果

val updateFunc = (iter:Iterator[(String,Seq[Int],Option[Int])]) => {

//总的次数= 当前出现的次数 + 以前返回的结果

iter.map(t => (t._1, t._2.sum + t._3.getOrElse(0)))

}

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

//1.创建程序入口

val conf: SparkConf = new SparkConf().setAppName(“StateKafkaWC”).setMaster(“local[2]”)

val ssc: StreamingContext = new StreamingContext(conf,Milliseconds(2000))

一、Python所有方向的学习路线

Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照下面的知识点去找对应的学习资源,保证自己学得较为全面。

img
img

二、Python必备开发工具

工具都帮大家整理好了,安装就可直接上手!img

三、最新Python学习笔记

当我学到一定基础,有自己的理解能力的时候,会去阅读一些前辈整理的书籍或者手写的笔记资料,这些笔记详细记载了他们对一些技术点的理解,这些理解是比较独到,可以学到不一样的思路。

img

四、Python视频合集

观看全面零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。

img

五、实战案例

纸上得来终觉浅,要学会跟着视频一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。img

六、面试宝典

在这里插入图片描述

在这里插入图片描述

简历模板在这里插入图片描述

小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数初中级Python工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Python爬虫全套学习资料》送给大家,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频

如果你觉得这些内容对你有帮助,可以添加下面V无偿领取!(备注:python)
img

能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。**

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频

如果你觉得这些内容对你有帮助,可以添加下面V无偿领取!(备注:python)
[外链图片转存中…(img-RGRHRm5R-1710984690028)]

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐