将DataStream或DataSet转换为表格 在上面的例子讲解中,直接使用的是:registerTableSource注册表 对于flink来说,还有更灵活的方式:比如直接注册DataStream或者DataSet转换为一张表. 然后DataStream或者DataSet就相当于表,这样可以继续使用SQL来操作流或者批次的数据 语法: // get TableEnvironment // registration of a DataSet is equivalent Env:DataStre…
本文翻译自官网:https://ci.apache.org/projects/flink/flink-docs-release-1.9/dev/table/common.html Flink Table Api & SQL 翻译目录 Table API和SQL集成在共同API中.该API的中心概念是Table,用作查询的输入和输出.本文档介绍了使用Table API和SQL查询的程序的通用结构,如何注册 Table,如何查询Table以及如何发出 Table(数据). 两个 planner 之间…
本文翻译自官网:SQL https://ci.apache.org/projects/flink/flink-docs-release-1.9/dev/table/sql.html Flink Table Api & SQL 翻译目录 这是Flink 支持的 数据定义语言(DDL) 和数据操纵语言的完整列表. 查询 指定查询 支持语法 操作 DDL 指定 DDL 创建表 删除表 Data Types Reserved保留关键字 查询 SQL查询使用TableEnvironment 的 sqlQu…
Apache Calcite是什么东东 Apache Calcite面向Hadoop新的sql引擎,它提供了标准的SQL语言.多种查询优化和连接各种数据源的能力.除此之外,Calcite还提供了OLAP和流处理的查询引擎.它2013年成为了Apache孵化项目以来,在Hadoop中越来越引人注目,并被众多项目集成.比如Flink/Storm/Drill/Phoenix都依赖它做sql解析和优化. Flink 结合 Calcite Flink Table API&SQL 为流式数据和静态数据的关系…
从flink的官方文档,我们知道flink的编程模型分为四层,sql层是最高层的api,Table api是中间层,DataStream/DataSet Api 是核心,stateful Streaming process层是底层实现. 其中, flink dataset api使用及原理 介绍了DataSet Api flink DataStream API使用及原理介绍了DataStream Api flink中的时间戳如何使用?---Watermark使用及原理 介绍了底层实现的基础Wat…
从flink的官方文档,我们知道flink的编程模型分为四层,sql层是最高层的api,Table api是中间层,DataStream/DataSet Api 是核心,stateful Streaming process层是底层实现. 其中, flink dataset api使用及原理 介绍了DataSet Api flink DataStream API使用及原理介绍了DataStream Api flink中的时间戳如何使用?---Watermark使用及原理 介绍了底层实现的基础Wat…
本文翻译自官网:https://ci.apache.org/projects/flink/flink-docs-release-1.9/dev/table/ Flink Table Api & SQL 翻译目录 一直没有用 flink 的 table 或 sql api,最近开始要使用这部分功能了,先把官网对应的文档翻译一遍,方便自己慢慢查看 ----------------------------------------------- Apache Flink 具有两个关联 API-Table…
本文翻译自官网:Table API  https://ci.apache.org/projects/flink/flink-docs-release-1.9/dev/table/tableApi.html Flink Table Api & SQL 翻译目录 Table API是用于流和批处理的统一的关系API. Table API查询可以在批处理或流输入上运行而无需修改. Table API是SQL语言的超集,是专门为与Apache Flink配合使用而设计的. Table API是用于Sca…
本文翻译自官网:User-defined Functions  https://ci.apache.org/projects/flink/flink-docs-release-1.9/dev/table/udfs.html Flink Table Api & SQL 翻译目录 用户定义函数是一项重要功能,因为它们显着扩展了查询的表达能力. 注册用户定义的函数 标量函数 表函数 聚合函数 表格汇总函数 实施UDF的最佳做法 将UDF与运行时集成 注册用户定义的函数 在大多数情况下,必须先注册用户定…
概述 Flink具有Table API和SQL-用于统一流和批处理. Table API是用于Scala和Java的语言集成查询API,它允许以非常直观的方式组合来自关系运算符(例如选择,过滤和联接)的查询. Flink的SQL支持基于实现SQL标准的Apache Calcite.无论输入是批处理输入(DataSet)还是流输入(DataStream),在两个接口中指定的查询都具有相同的语义并指定相同的结果. Table API和SQL尚未完成所有功能,正在积极开发中,支持程度需查看 官方文档…