Flink笔记整理(三)

Flink笔记整理(三)



五、DataStream API

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

---

5.1Environment

创建执行环境


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

设置执行模式


// 默认流模式执行,可改为批执行模式

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

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

env.setRuntimeMode(RuntimeExecutionMode.BATCH);

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

env.execute();

5.2 Source

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


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

Flink支持的Source以及代码

5.3 Transformation

转换算子,将一个或多个DataStream转换为新的DataStream。
在这里插入图片描述
Flink支持的Transformation以及代码

5.4 Sink

Flink支持的Sink以及代码


总结

在这里插入图片描述

相关推荐

  1. Flink面试整理-Flink常见API

    2024-07-23 08:10:02       28 阅读
  2. Flink面试整理-Flink是什么?

    2024-07-23 08:10:02       25 阅读
  3. Flink面试整理-Flink、Spark、Storm比较

    2024-07-23 08:10:02       29 阅读
  4. Flink面试整理-Flink工作原理

    2024-07-23 08:10:02       23 阅读
  5. node整理学习(

    2024-07-23 08:10:02       32 阅读
  6. Flink面试整理-Flink的监控和日志收集

    2024-07-23 08:10:02       27 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-23 08:10:02       52 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-23 08:10:02       54 阅读
  3. 在Django里面运行非项目文件

    2024-07-23 08:10:02       45 阅读
  4. Python语言-面向对象

    2024-07-23 08:10:02       55 阅读

热门阅读

  1. 【策略模式在项目中的实际应用】

    2024-07-23 08:10:02       17 阅读
  2. 前端设计模式面试题汇总

    2024-07-23 08:10:02       13 阅读
  3. 预训练语言模型实践笔记

    2024-07-23 08:10:02       16 阅读
  4. 坑人的macos tar 命令 (实际上是bsdtar)换用 gnu tar

    2024-07-23 08:10:02       16 阅读
  5. windows下玩转DockerDesktop--学习笔记

    2024-07-23 08:10:02       15 阅读
  6. 45、PHP 实现滑动窗口的最大值

    2024-07-23 08:10:02       16 阅读
  7. PHP框架简介

    2024-07-23 08:10:02       12 阅读
  8. Scratch语言详解

    2024-07-23 08:10:02       14 阅读
  9. GCD异步与同步任务执行顺序分析

    2024-07-23 08:10:02       14 阅读
  10. 设计模式-策略模式

    2024-07-23 08:10:02       16 阅读
  11. 深入解析Memcached:C#中的应用与实战案例

    2024-07-23 08:10:02       15 阅读
  12. Python subprocess.call - 将变量添加到 subprocess.call

    2024-07-23 08:10:02       12 阅读