实时数仓

Mac 在IDEA 部署flink 并编写第一个流式WordCo

2020-10-18  本文已影响0人  afansdie

1、环境配置

Java 环境配置:https://www.runoob.com/java/java-environment-setup.html

Maven 教程:https://www.runoob.com/maven/maven-setup.html

Intellij Idea:https://www.jetbrains.com/idea/

2、创建Maven 项目

简单使用Intellij Idea内置的Maven工具创建

(1)

(2)

(3)

(4)

(5)

(6)

这里特别重要,否则会没有src目录

(7)

这里就算安装成功了,语句可以在这里写

object StreamingJob {

  def main(args: Array[String]) {

    // 创建 Flink 执行环境

    val env = StreamExecutionEnvironment.getExecutionEnvironment

    // 接收socket的输入流

    // 使用本地9000端口,如端口被占用可换一个端口

    val textStream = env.socketTextStream("localhost", 9000, '\n')

    // 使用Flink算子对输入流的文本进行操作

    // 按空格切词、计数、分组、设置时间窗口、聚合

    val windowWordCount = textStream

      .flatMap(line => line.split("\\s"))

      .map(word => (word, 1))

      .keyBy(0)

      //.timeWindow(Time.seconds(5))

      .sum(1)

    // 单线程打印结果

    windowWordCount.print().setParallelism(1)

    // execute program

    env.execute("Socket Window WordCount")

  }

}

3、启动任务

(1)终端写入nc -l 9000

(2)

(3)

(4)

4、本地部署flink 集群

(1) 终端输入brew info apache-flink 查询你的安装目录

(2)$ cd /usr/local/Cellar/apache-flink/1.9.0

(3)$ ./libexec/bin/start-cluster.sh

这就算启动起来了

(4) 网页输入http://localhost:8081/就能看到这样的页面

5、将任务打包成jar,发布到集群中

(1)

(2)

(3)

(4)

6、停止集群

终端输入

$ cd /usr/local/Cellar/apache-flink/1.9.0

$ ./libexec/bin/stop-cluster.sh

上一篇下一篇

猜你喜欢

热点阅读