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目錄下。
擷取更多大資料資料,視訊以及技術交流請加群:
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsICM38FdsYkRGZkRG9lcvx2bjxiNx8VZ6l2cscXQE1ENNRkT3NGROFDazwEMW1mY1RzRapnTtxkb5ckYplTeMZTTINGMShUYfRHelRHLwEzX39GZhh2css2RkBnVHFmb1clWvB3MaVnRtp1XlBXe0xyayFWbyVGdhd3LcV2Zh1Wa9M3clN2byBXLzN3btg3Pn5GcuQzM3EjN1ATMzAzNwAjMwIzLc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.png)