流批一体计算引擎-17-[Flink]中的Table API常用算子

文章目录

  • 1 概述&示例
    • 1.1 data.csv
    • 1.2 代码示例
  • 2 操作算子
    • 2.1 扫描、投影和过滤
      • 2.1.1 from_path【流批】
      • 2.1.2 from_elements【流批】
      • 2.1.3 select【流批】
      • 2.1.4 alias【流批】
      • 2.1.5 where【流批】
      • 2.1.6 filter【流批】
    • 2.2 列操作
      • 2.2.1 add_columns【流批】
      • 2.2.2 add_or_replace_columns【流批】
      • 2.2.3 drop_columns【流批】
      • 2.2.4 rename_columns【流批】
    • 2.3 聚合
      • 2.3.1 GroupBy【流批结果更新】
      • 2.3.2 GroupBy Window【流批】
      • 2.3.3 Over Window【流批】
      • 2.3.4 Distinct Aggregation 【流批结果更新】
      • 2.3.5 Distinct【流批结果更新】
    • 2.4 连接
      • 2.4.1 Inner Join【流批】
      • 2.4.2 Outer Join【流批结果更新】
  • 3 参考附录

Table API是批处理和流处理的统一的关系型API。
Table API的查询不需要修改代码就可以采用批输入或流输入来运行。
Table API是SQL语言的超集,并且是针对Apache Flink专门设计的。
Table API集成了Scala,Java和Python语言的API。
Table API的查询是使用Java,Scala或Python语言嵌入的风格定义的,有诸如自动补全和语法校验的IDE支持,而不是像普通SQL一样使用字符串类型的值来指定查询。

1 概述&示例

Table API支持Scala, Java和Python语言。
Scala语言的Table API利用了Scala表达式;
Java语言的Table API支持DSL表达式和解析并转换为等价表达式的字符串;Python语言的Table API仅支持解析并转换为等价表达式的字符串。

下面的例子展示了 Scala、Java 和 Python 语言的 Table API 的不同之处。表程序是在批环境下执行的。程序扫描了 Orders 表,通过字段 a 进行分组,并计算了每组结果的行数。

1.1 data.csv

lily,20,30,"2
上一篇:html如何实现跳转到锚点


下一篇:Javaweb开发快捷键集锦(Spring boot)