• Flink基础-Table API教程


    1.table api特点:

    使得多声明的数据处理起来更为容易,扩展标准sql更为容易

    enviroment:

    如何得到一个表:

    1.自己写table的描述信息

    2.通过自定义tablesouce注册到env中

    3.datastream也可以通过注册得到一个表

    如何输出一个table:

    和输入的三种方式是一致的

    如何查询一个表:

    对列上一些函数:

    对列上的一些操作:

    addcolumns添加,addorreplacecolumns添加并且覆盖,renamecolumns重命名,dropcolumns删除

    withcolumns选择指定的列,withoutcolumns反选指定的列

    cloumns使用的语法:

     可以是字段名,下标,默认下标是从1开始计算的

    row-based operation:

    map-operation的好处:

    比如需要对这个表中的每一列都做一些udf的操作,比如if,cocat这种,

    你就需要对每列都写一个udf,但是如果在table上使用map算子就会非常方便

    flatmap-opreation:

    输入一行-输出多行

    aggregate-operation:

    输入多行-输出一行

    输入多行-输出多行:topn

    flataggregate-operation:

    aggregate vs tableaggregate:

    窗口:

    时间语义需要配合窗口操作才能发挥作用

    gruop windows 分组窗口:(整张表)

    根据时间或行数据,把数据聚合到组中。

    滚动窗口:tumbling windows

    可以通过时间开窗,也可以通过行数开窗,之所以行数也要时间字段是因为需要对数据进行排序来取。

    滑动窗口:sliding windows

     会话窗口:session window

    over windows 开窗函数:(针对某行)

    针对每个输入行,计算附近行范围的聚合。

    无界窗口:over windows

     

    有界over windows:

    目前flink只支持preceding 到current row,因为如果要支持following需要等待。

     

    总结:

  • 相关阅读:
    String.format in JavaScript
    dojo/domReady! 中感叹号的作用
    文本三剑客之sed的用法
    文本三剑客之grep的用法
    通配符与特殊符号
    文件属性信息
    文件属性及find命令总结
    linux系统常用命令
    系统优化
    vim编辑器 与etc目录
  • 原文地址:https://www.cnblogs.com/javazyh/p/13046739.html
Copyright © 2020-2023  润新知