Flink笔记整理(三)

Flink笔记整理(三)


文章目录


五、DataStream API

DataStream API是Flink的核心层API,一个Flink程序,其实本质就是对DataStream的各种转换。

5.1Environment

创建执行环境

java 复制代码
// 最简单,最常用
StreamExecutionEnvironment env = StreamExecutionEnvironment
                              .getExecutionEnvironment();
                              
// 本地执行环境(很少用)
StreamExecutionEnvironment localEnv = StreamExecutionEnvironment
                              .createLocalEnvironment();  
                              
// 远程集群执行环境
StreamExecutionEnvironment remoteEnv = StreamExecutionEnvironment
      .createRemoteEnvironment(
        "host",                   // JobManager主机名
        1234,                     // JobManager进程端口号
         "path/to/jarFile.jar"  // 提交给JobManager的JAR包
    );

设置执行模式

java 复制代码
// 默认流模式执行,可改为批执行模式

// 命令行(更常用)
bin/flink run -Dexecution.runtime-mode=BATCH ...

// 代码写死(用得比较少,测试的时候可以用用)
StreamExecutionEnvironment env = StreamExecutionEnvironment
                    .getExecutionEnvironment();

env.setRuntimeMode(RuntimeExecutionMode.BATCH);

触发执行

Flink是由事件驱动的,只有等到数据到来,才会触发真正的计算,这也被称为"延迟执行"或"懒执行"。

java 复制代码
env.execute();

5.2 Source

Flink可以从各种来源获取数据,然后构建DataStream进行转换处理。一般将数据的输入来源称为数据源(data source),而读取数据的算子就是源算子(source operator)。所以,source就是整个处理程序的输入端。

java 复制代码
// 12版本以后的统一写法
DataStreamSource<String> stream = env.fromSource(...)

Flink支持的Source以及代码

5.3 Transformation

转换算子,将一个或多个DataStream转换为新的DataStream。

Flink支持的Transformation以及代码

5.4 Sink

Flink支持的Sink以及代码


总结

相关推荐
金色光环19 分钟前
【Modbus学习笔记】stm32实现Modbus
笔记·stm32·学习
zyxzyx6661 小时前
Flyway 介绍以及与 Spring Boot 集成指南
spring boot·笔记
zskj_zhyl3 小时前
智慧养老丨从依赖式养老到自主式养老:如何重构晚年生活新范式
大数据·人工智能·物联网
西岭千秋雪_3 小时前
Redis性能优化
数据库·redis·笔记·学习·缓存·性能优化
哲科软件3 小时前
从“电话催维修“到“手机看进度“——售后服务系统开发如何重构客户体验
大数据·智能手机·重构
zzywxc7873 小时前
AI 正在深度重构软件开发的底层逻辑和全生命周期,从技术演进、流程重构和未来趋势三个维度进行系统性分析
java·大数据·开发语言·人工智能·spring
专注API从业者3 小时前
构建淘宝评论监控系统:API 接口开发与实时数据采集教程
大数据·前端·数据库·oracle
HuashuiMu花水木4 小时前
Matplotlib笔记4----------图像处理
图像处理·笔记·matplotlib
DES 仿真实践家4 小时前
【Day 11-N22】Python类(3)——Python的继承性、多继承、方法重写
开发语言·笔记·python
一瓣橙子5 小时前
缺少关键的 MapReduce 框架文件
大数据·mapreduce