天天看點

Flink Table API 和 SQL之概述

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目錄下。

擷取更多大資料資料,視訊以及技術交流請加群:

Flink Table API 和 SQL之概述

繼續閱讀