Flink 系列:Flink 入门不再难!3000字深入浅出 WordCount 实战及精解

本文详细介绍了如何使用ApacheFlink进行WordCount入门,包括创建Maven项目、编写Java代码、本地运行和打包为jar包执行,以及处理实时数据流和窗口计算的概念。

107848bd74d13b5f9ede8c89768bdcd2.gif

点击卡片“大数据实战演练”,选择“设为星标”或“置顶”

回复“资料”可领取独家整理的大数据学习资料!

回复“Ambari知识库”可领取独家整理的Ambari学习资料!

a25acec214fcc93f05da3f3e455dbf1e.jpeg

大家好,我是create17,见字如面。

在这个数据驱动的时代,掌握大数据技术成为了每一位开发者必不可少的技能。而在众多技术栈中,Flink无疑占据了重要的位置。作为一个高性能、可扩展的实时数据处理框架,Flink已经成为了很多企业和开发者的首选。但对于初学者来说,Flink的学习曲线可能会显得有些陡峭。因此,我们决定打造一系列通俗易懂的Flink学习文章,希望能帮助大家更快地掌握这一强大的技术。

那希望我接下来的分享给大家带来一些帮助和启发🤔

版本说明:
Java:1.8
Flink:1.12.0

一、前言

Apache Flink 是一个流处理框架,它允许用户以高吞吐量和低延迟的方式处理实时数据流。Flink 提供了强大的流处理能力,能够处理有界(批处理)和无界(流处理)的数据流。通过 Flink,开发者可以轻松实现复杂的数据处理和分析应用。

今天和大家一起学习 Flink 入门级 demo:WordCount。WordCount 简单来讲就是单词计数,是一般大数据计算框架(Hadoop、Spark、Flink)的入门学习案例,相当于编程语言(Java、Python)中的 HelloWorld 案例,适合刚开始了解 Flink 作业提交流程的同学。

WordCount 程序编写好以后,我们可以本地运行测试,也可以打成 jar 包,使用命令提交 Job 运行。本篇文章,这两种方式我们都试一下。好了,准备好了吗?我们开始吧。

二、编写 WordCount 程序

1、创建 maven 工程

我们使用 Java 语言来编写 WordCount 程序。首先创建 maven 工程,可运行下述代码创建工程:

mvn archetype:generate \
    -DarchetypeGroupId=org.apache.flink \
    -DarchetypeArtifactId=flink-quickstart-java \
    -DarchetypeVersion=1.12.0 \
    -DgroupId=org.myorg.quickstart \
    -DartifactId=quickstart \
    -Dversion=0.1 \
    -Dpackage=org.myorg.quickstart \
    -DinteractiveMode=false
  • mvn archetype:generate:这是 Maven 命令的一部分,用于触发 Maven 架构生成的目标。这个命令告诉 Maven 你想要生成一个新的项目,基于指定的架构模板。

  • -DarchetypeGroupId=org.apache.flink:这个参数指定了架构的 group ID。对于 Apache Flink 的快速开始模板,其 group ID 是 org.apache.flink。Group ID 是 Maven 项目的一部分,用于唯一标识项目所属的组织或项目组。

  • -DarchetypeArtifactId=flink-quickstart-java:这个参数指定了架构的 artifact ID,即模板的具体名称。对于 Flink 的快速开始 java 项目,artifact ID 是 flink-quickstart-java。Artifact ID 用于唯一标识一个项目或模块。

  • -DarchetypeVersion=1.12.0:指定了架构的版本号。对于你提供的命令,使用的 Flink 架构版本是 1.12.0。需要注意的是,可能存在多个版本的架构,每个版本可能会有不同的特性或结构。

  • -DgroupId=org.myorg.quickstart:这是你的项目的 group ID。在 Maven 中,group ID 用于唯一标识你的项目所属的组织或项目组。这里,它被设置为 org.myorg.quickstart。

  • -DartifactId=quickstart:这是你的项目的 artifact ID,它是你项目的唯一标识。在这个例子中,它被设置为 quickstart。

  • -Dversion=0.1:这个参数指定了你的项目版本。在这里,项目版本被设置为 0.1。

  • -Dpackage=org.myorg.quickstart:这个参数用于指定你的项目包的基本名称。在 Java 中,包名用于组织和管理类。这里,包名被设置为 org.myorg.quickstart。

  • -DinteractiveMode=false:这个参数用于告诉 Maven 不要进入交互模式。当设置为 false 时,Maven 会使用命令行提供的参数来生成项目,而不会在过程中询问用户输入。

你可以编辑上面的 groupId, artifactId, package 成你喜欢的路径。使用上面的参数,Maven 将自动为你创建如下所示的项目结构:

$ tree quickstart
quickstart
├── pom.xml
└── src
    └── main
        ├── java
        │   └── org.myorg.quickstart
        │       ├── BatchJob.java
    &n
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

create17

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值