[Spark、hadoop]spark Streaming的核心DStream

目录

Spark Streaming的核心是DStream

一、DStream简介

二.DStream编程模型

三.DStream转换操作


Spark Streaming的核心是DStream

一、DStream简介

1.Spark Streaming提供了一个高级抽象的流,即DStream(离散流)。

2.DStream的内部结构是由一系列连续的RDD组成,每个RDD都是一小段由时间分隔开来的数据集。

二.DStream编程模型

0fe737d0fe51471f86a0a8c85b0fb69b.png

三.DStream转换操作

af73eb7e13394223a84bc68153f85d78.png

transform()

1.在3个节点启动zookeeper集群服务

$ zkServer.sh start

9e4323c2f10640969e8f875570223646.png

2.启动kafka(3个节点都要)

$ /opt/module/kafka/bin/kafka-server-start.sh  /opt/module/kafka/config/server.properties

b8fd5e96bd61405d8067e2ae9594e56e.png

3.克隆会话,jps查看是否有Kafka(3个节点)

6ec2632d396b41d58198dbcc9ea0012d.png

4.进入/etc/resolv.conf加入如下内

vi resolv.conf

2c4bd758c63a467a953c83136399492a.png

Nameserver 114.114.114.114

b8f0b9c3b0c14976946f77fff32e032f.png

5.下载nc

$ yum install nc

2c6420b111944f5c90515f2fb7a368f1.png

6.启动服务端且监听Socket服务,并输入I am learning spark streaming now

$ nc -lk 9999

I am learning spark streaming now(回车)

7cf1e17894a845d6b14a2dd40b826abe.png

7.创建Maven项目, 打开右上角的Fileànewàproject

6d7d0118fbe745b7aceccac24cf30aac.png

8.选择mavenànext

42c8541a4dcb46a487d8de6f175505df.png

9.填写groupld、artifctldànext

2b64115e0a9740d7baa40983fbdeb613.png

10.添加依赖

<dependencies>

    <dependency>

        <groupId>org.scala-lang</groupId>

        <artifactId>scala-library</artifactId>

        <version>2.11.8</version>

    </dependency>

    <dependency>

        <groupId>org.apache.spark</groupId>

        <artifactId>spark-core_2.11</artifactId>

        <version>2.0.2</version>

    </dependency>

    <!--引入sparkStreaming依赖-->

    <dependency>

        <groupId>org.apache.spark</groupId>

        <artifactId>spark-streaming_2.11</artifactId>

        <version>2.0.2</version>

    </dependency>

    <dependency>

        <groupId>mysql</groupId>

        <artifactId>mysql-connector-java</artifactId>

        <version>5.1.38</version>

    </dependency>

    <!--引入sparkstreaming整合kafka的依赖-->

    <dependency>

        <groupId>org.apache.spark</groupId>

        <artifactId>spark-streaming-kafka-0-8_2.11</artifactId>

        <version>2.0.2</version>

    </dependency>

</dependencies>



<build>

    <sourceDirectory>src/main/scala</sourceDirectory>

    <testSourceDirectory>src/test/scala</testSourceDirectory>

</build>

2cedff27b968468a9aa19545448498e8.png

11 在main目录下创建scala文件,右击ànewàdirectory,命名为Scala

8c2930dd412748b4957e5eddeba00d73.png

8f634fab663f48c391483697386ff3c8.png

12 右击Scala文件,选择【Mark Directory as】à【sources root】表示将文件夹标记为资源文件夹类型(存放项目源码文件)

decbc50cfd3b41d78c600db52569b489.png

13 同样在test目录下创建scala文件,右击ànewàdirectory,命名为Scala

a9f60c27b6da403c9aaa10509bc52aef.png

 382b070091ce47a1991bc5ce89d9d122.png

14 右击Scala文件,选择【Mark Directory as】à【test sources root】表示将文件夹标记为测试资源文件夹类型(存放开发中测试的源码文件)

24bd00986af041fb930661a208f5e55f.png

15 右击main下的Scala文件先创建一个package并命名为cn.itcast 

a9d6d4cde8764a8abc3f6330b9657aa7.png

 ff5e514064e24614ba4c2d8ecfe9276f.png

16 编写TransformTest.Scala

注意红框内容!!!

   6e2aa4fc76da40f9ad1d6cdb404f919d.png

17 运行程序,可以看到控制台输出结果

e4822f28036e44698bbca68e8a0b8951.png

UpdateStateKey()

1 编写UpdateStateKeyTest.scala

注意红框内容!!!

a556fee2ec92475c86cee28e781ac317.png

2 运行程序并在master 9999 端口不断输入单词,观察到控制台输出内容

$ nc -lk 9999

Hadoop spark itcast(回车)

Spark itcast

7261189ca5fd45d6ba0afd5a89128d04.png

猜你喜欢

转载自blog.csdn.net/m0_57781407/article/details/127151246
今日推荐