Flink针对标准的流处理和批处理提供了两种相关的API,Table API和sql。TableAPI允许用户以一种很直观的方式进行select 、filter和join操作。Flink SQL支持基于 Apache Calcite实现的标准SQL。针对批处理和流处理可以提供相同的处理语义和结果。
Flink Table API、SQL接口和Flink的DataStream API、DataSet API是紧密联系在一起的。
使用步骤:
Flink的Table API和SQL是捆绑在flink-table依赖中的。所以,如果你的项目中想要使用Table API 和SQL的话,必须要添加下面依赖
<dependency>
<groupId>org.apache.flink</groupId>
<artifactId>flink-table_2.11</artifactId>
<version>1.6.1</version>
</dependency>
注意:针对Flink 的scala操作你还需要添加下面依赖
针对Flink的scala batch操作添加如下依赖
<dependency>
<groupId>org.apache.flink</groupId>
<artifactId>flink-scala_2.11</artifactId>
<version>1.6.1</version>
</dependency>
针对Flink的scala streaming操作添加如下依赖:
<dependency>
<groupId>org.apache.flink</groupId>
<artifactId>flink-streaming-scala_2.11</artifactId>
<version>1.6.1</version>
</dependency>
注意:为了避免用户的类加载器被垃圾回收器回收,官方不建议把flink-table这个jar包和业务代码包含在一块。
推荐把Flink-table的依赖拷贝到Flink的lib目录下。
获取更多大数据资料,视频以及技术交流请加群: