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以及代码


总结

相关推荐
飞奔的屎壳郎4 分钟前
flink部署使用(flink-connector-jdbc)连接达梦数据库并写入读取数据
大数据·数据库·flink
小灿同学啊37 分钟前
Pycharm中python解释器选择Conda环境时“conda可执行文件”
经验分享·笔记·pycharm
北漂老男孩1 小时前
电商核心指标解析与行业趋势:数据驱动的增长策略【大模型总结】
笔记·创业创新
计算机毕设定制辅导-无忧学长1 小时前
TDengine 数据模型设计:多列模式与单列模式对比(一)
大数据·时序数据库·tdengine
kfepiza1 小时前
`use_tempaddr` 和 `temp_valid_lft ` 和 `temp_prefered_lft ` 笔记250405
linux·网络·笔记·tcp/ip·ip·tcp
东京老树根2 小时前
自动变为 VIP 文章
笔记·学习
HappyAcmen2 小时前
线代第三课:n阶行列式
笔记·学习·线性代数
梦道长生3 小时前
GPT-SoVITS Windows 配置与推理笔记(自用)
人工智能·windows·笔记·gpt
阿里云大数据AI技术3 小时前
阿里云 AI 搜索开放平台:从算法到业务——AI 搜索驱动企业智能化升级
大数据·人工智能·算法
Starry_hello world3 小时前
Linux 入门指令(1)
linux·笔记·有问必答