zoukankan      html  css  js  c++  java
  • 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需要等待。

     

    总结:

  • 相关阅读:
    机器学习进度(六)—— 主成分分析
    留言版
    打赏
    第十四周总结
    第十三周总结
    软件测试读后感(二)
    第十二周总结
    第十一周总结
    软件测试读后感(一)
    虚拟机常用shell命令
  • 原文地址:https://www.cnblogs.com/javazyh/p/13046739.html
Copyright © 2011-2022 走看看