【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 程序开发。

相关推荐
鲁邦通物联网1 小时前
PLC数据接入MES的边缘计算网关架构设计:别让MES直接理解控制变量
大数据·边缘计算·数据采集·工业数据采集·边缘计算网关·5g数采·plc数采
Never_every991 小时前
位图转矢量工具哪个好?实测抠抠图AI位图转矢量工具
大数据·前端
4SAPI1 小时前
AI 数据分析工具大模型 API 选型指南
大数据·人工智能·架构·php·1024程序员节
北京青蓝智慧马老师2 小时前
比外部黑客更难防的,是那个有权限的自己人(3 个脱敏复盘)
大数据·数据库·人工智能
云上先途4 小时前
开发专属 AI 工具,数据安全和隐私风险怎么规避?
大数据·人工智能·深度学习
2601_967212726 小时前
高防护轨道式插座安全结构与工程适配技术说明
大数据·经验分享·安全
ha_lydms6 小时前
AnalyticDB MySQL 技术架构
大数据·hadoop·mysql·adb·spark·dataworks·1024程序员节
爱喝雪碧的可乐9 小时前
OpenAI Codex完成率
大数据·人工智能·1024程序员节
m0_622023539 小时前
产业资本运作:新金融博弈下的产业链安全底盘搭建
大数据·深度学习·重构·1024程序员节
微功夫信息技术10 小时前
非急救转运如何规范管理
大数据·交通物流