zoukankan      html  css  js  c++  java
  • FLINK基础(87): DS算子与窗口(1)简介

    Flink中的算子是将一个或多个DataStream转换为新的DataStream,可以将多个转换组合成复杂的数据流拓扑。

    在Flink中,有多种不同的DataStream类型,他们之间是使用各种算子进行的。如下图所示:
    Flink DataStream

    以下列举下常用的算子,用到的代码例子都是Flink监听9000端口做为数据源。以下方法可以启动一个9000的socket端口服务。

    Linux平台上可以使用

    bash
    nc -lk 9000
    
    • 1
    • 2

    如果是 Windows 平台,可以通过 https://nmap.org/ncat/ 安装 ncat 然后运行:

    bash
    ncat -lk 9000
    
    • 1
    • 2

    map

    map可以理解为映射,对每个元素进行一定的变换后,映射为另一个元素。

    flatmap

    flatmap可以理解为将元素摊平,每个元素可以变为0个、1个、或者多个元素。

    filter

    filter是进行筛选。

    keyBy

    逻辑上将Stream根据指定的Key进行分区,是根据key的散列值进行分区的。

    reduce

    reduce是归并操作,它可以将KeyedStream 转变为 DataStream。

    fold

    给定一个初始值,将各个元素逐个归并计算。它将KeyedStream转变为DataStream。

    union

    union可以将多个流合并到一个流中,以便对合并的流进行统一处理。是对多个流的水平拼接。

    参与合并的流必须是同一种类型。

    join

    根据指定的Key将两个流进行关联。

    coGroup

    关联两个流,关联不上的也保留下来。

    connect

    参考:https://www.jianshu.com/p/5b0574d466f8

    将两个流纵向地连接起来。DataStream的connect操作创建的是ConnectedStreams或BroadcastConnectedStream,它用了两个泛型,即不要求两个dataStream的element是同一类型。

    split

    参考:https://cloud.tencent.com/developer/article/1382892

    参考链接:

    https://blog.csdn.net/chybin500/article/details/87260869

    本文来自博客园,作者:秋华,转载请注明原文链接:https://www.cnblogs.com/qiu-hua/p/13682167.html

  • 相关阅读:
    sqli-labs(十七)
    sqli-labs(十六)(order by注入)
    sqli-labs(十五)(堆叠注入)
    spring boot热部署
    java之定时任务
    python之字符串函数
    java加载配置文件信息
    python之运算符与基本数据类型
    python基础
    python介绍
  • 原文地址:https://www.cnblogs.com/qiu-hua/p/13682167.html
Copyright © 2011-2022 走看看