【Flink学习】(二)Flink 本地环境搭建,运行第一个入门程序

一、环境搭建步骤

安装配置 JDK1.8,配置环境变量

安装 Maven 并配置本地仓库与镜像源

IDEA 配置 Maven 环境,创建 Maven 项目

xml 复制代码
<!-- Flink流式计算核心依赖 -->
<dependency>
    <groupId>org.apache.flink</groupId>
    <artifactId>flink-streaming-java</artifactId>
    <version>1.17.0</version>
</dependency>
<!-- Flink客户端依赖 -->
<dependency>
    <groupId>org.apache.flink</groupId>
    <artifactId>flink-clients</artifactId>
    <version>1.17.0</version>
</dependency>

1、获取流式执行环境

2、定义数据源 Source

3、调用转换算子处理数据

4、定义数据输出 Sink

5、触发任务执行

四、实战案例

java 复制代码
public class FlinkFirstDemo {
    public static void main(String[] args) throws Exception {
        // 1. 获取流执行环境
        StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment();
        // 设置全局并行度
        env.setParallelism(1);

        // 2. 读取本地文本文件作为数据源
        DataStreamSource<String> fileStream = env.readTextFile("D:/test.txt");

        // 3. 数据拆分处理
        SingleOutputStreamOperator<String> wordStream = fileStream.flatMap((String line, Collector<String> collector) -> {
            String[] words = line.split(" ");
            for (String word : words) {
                collector.collect(word);
            }
        });

        // 分组求和统计次数
        wordStream.map(word -> new Tuple2<>(word, 1))
                .keyBy(tuple -> tuple.f0)
                .sum(1)
                .print();

        // 5. 执行任务
        env.execute("第一个Flink入门程序");
    }
}

五、本地运行测试

直接运行 main 方法,控制台自动输出单词统计结果,完成首个 Flink 程序开发。

相关推荐
大大大大晴天2 天前
Flinksql内置函数不够用?一文弄懂UDF
flink
大大大大晴天4 天前
Hudi Metadata Table 与 Hive Sync (HMS)怎么选?
大数据
手可摘星辰7774 天前
一次线上FlinkCDC异常排查复盘
大数据·flink
大大大大晴天4 天前
Hudi技术内幕:Metadata Table原理与实践
大数据
大大大大晴天5 天前
Hudi技术内幕:深入解析Index索引机制
大数据
阿里云大数据AI技术5 天前
Flink Forward Asia 2026 深圳启幕:Agentic Streaming for AI,开启实时智能新范式
大数据·flink
SelectDB6 天前
阶跃星辰基于 SelectDB 构建 PB 级 Agent 可观测平台
大数据·数据库·aigc
tonyabasy7 天前
Flink 实时数仓开发实战:SQL中也能做到资源精细化管理
flink
大大大大晴天7 天前
浅聊Flink实时关联计算的不适用场景
flink
大大大大晴天8 天前
深入解析 Flink Kafka Connector:原理、配置与最佳实践
flink