2021年大数据Flink(三十一):​​​​​​​Table与SQL案例准备 依赖和​​​​​​​程序结构

举报
Lansonli 发表于 2021/09/27 22:10:56 2021/09/27
【摘要】 目录 案例准备 依赖 ​​​​​​​程序结构 ​​​​​​​案例准备 依赖 https://ci.apache.org/projects/flink/flink-docs-release-1.12/dev/table/   <dependency>    &...

目录

案例准备

依赖

​​​​​​​程序结构


​​​​​​​案例准备

依赖

https://ci.apache.org/projects/flink/flink-docs-release-1.12/dev/table/

 


  
  1. <dependency>
  2.     <groupId>org.apache.flink</groupId>
  3.     <artifactId>flink-table-api-scala-bridge_2.12</artifactId>
  4.     <version>${flink.version}</version>
  5.     <scope>provided</scope>
  6. </dependency>
  7. <dependency>
  8.     <groupId>org.apache.flink</groupId>
  9.     <artifactId>flink-table-api-java-bridge_2.12</artifactId>
  10.     <version>${flink.version}</version>
  11.     <scope>provided</scope>
  12. </dependency>
  13. <!-- flink执行计划,这是1.9版本之前的-->
  14. <dependency>
  15.     <groupId>org.apache.flink</groupId>
  16.     <artifactId>flink-table-planner_2.12</artifactId>
  17.     <version>${flink.version}</version>
  18. </dependency>
  19. <!-- blink执行计划,1.11+默认的-->
  20. <dependency>
  21.     <groupId>org.apache.flink</groupId>
  22.     <artifactId>flink-table-planner-blink_2.12</artifactId>
  23.     <version>${flink.version}</version>
  24.     <scope>provided</scope>
  25. </dependency>
  26. <dependency>
  27.     <groupId>org.apache.flink</groupId>
  28.     <artifactId>flink-table-common</artifactId>
  29.     <version>${flink.version}</version>
  30.     <scope>provided</scope>
  31. </dependency>

 

● flink-table-common:这个包中主要是包含 Flink Planner 和 Blink Planner一些共用的代码。

● flink-table-api-java:这部分是用户编程使用的 API,包含了大部分的 API。

● flink-table-api-scala:这里只是非常薄的一层,仅和 Table API 的 Expression 和 DSL 相关。

● 两个 Planner:flink-table-planner 和 flink-table-planner-blink。

● 两个 Bridge:flink-table-api-scala-bridge 和 flink-table-api-java-bridge,

Flink Planner 和 Blink Planner 都会依赖于具体的 JavaAPI,也会依赖于具体的 Bridge,通过 Bridge 可以将 API 操作相应的转化为Scala 的 DataStream、DataSet,或者转化为 JAVA 的 DataStream 或者Data Set

 

​​​​​​​程序结构

https://ci.apache.org/projects/flink/flink-docs-release-1.12/dev/table/common.html#structure-of-table-api-and-sql-programs

 

 

 


  
  1. // create a TableEnvironment for specific planner batch or streaming
  2. TableEnvironment tableEnv = ...; // see "Create a TableEnvironment" section
  3. // create a Table
  4. tableEnv.connect(...).createTemporaryTable("table1");
  5. // register an output Table
  6. tableEnv.connect(...).createTemporaryTable("outputTable");
  7. // create a Table object from a Table API query
  8. Table tapiResult = tableEnv.from("table1").select(...);
  9. // create a Table object from a SQL query
  10. Table sqlResult  = tableEnv.sqlQuery("SELECT ... FROM table1 ... ");
  11. // emit a Table API result Table to a TableSink, same for SQL result
  12. TableResult tableResult = tapiResult.executeInsert("outputTable");
  13. tableResult...

 

文章来源: lansonli.blog.csdn.net,作者:Lansonli,版权归原作者所有,如需转载,请联系作者。

原文链接:lansonli.blog.csdn.net/article/details/116326994

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。