目录

案例准备

依赖

​​​​​​​程序结构


​​​​​​​案例准备

依赖

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

<dependency><groupId>org.apache.flink</groupId><artifactId>flink-table-api-scala-bridge_2.12</artifactId><version>${flink.version}</version><scope>provided</scope>
</dependency>
<dependency><groupId>org.apache.flink</groupId><artifactId>flink-table-api-java-bridge_2.12</artifactId><version>${flink.version}</version><scope>provided</scope>
</dependency>
<!-- flink执行计划,这是1.9版本之前的-->
<dependency><groupId>org.apache.flink</groupId><artifactId>flink-table-planner_2.12</artifactId><version>${flink.version}</version>
</dependency>
<!-- blink执行计划,1.11+默认的-->
<dependency><groupId>org.apache.flink</groupId><artifactId>flink-table-planner-blink_2.12</artifactId><version>${flink.version}</version><scope>provided</scope>
</dependency>
<dependency><groupId>org.apache.flink</groupId><artifactId>flink-table-common</artifactId><version>${flink.version}</version><scope>provided</scope>
</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

// create a TableEnvironment for specific planner batch or streamingTableEnvironment tableEnv = ...; // see "Create a TableEnvironment" section// create a TabletableEnv.connect(...).createTemporaryTable("table1");// register an output TabletableEnv.connect(...).createTemporaryTable("outputTable");// create a Table object from a Table API queryTable tapiResult = tableEnv.from("table1").select(...);// create a Table object from a SQL queryTable sqlResult  = tableEnv.sqlQuery("SELECT ... FROM table1 ... ");// emit a Table API result Table to a TableSink, same for SQL resultTableResult tableResult = tapiResult.executeInsert("outputTable");tableResult...

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

  1. 2021年大数据Flink(十一):流批一体API Source

    目录 Source 预定义Source 基于集合的Source 基于文件的Source ​​​​​​​基于Socket的Source 自定义Source 随机生成数据 ​​​​​​​MySQL Sou ...

  2. 2021年大数据Flink(二十):案例二 基于数量的滚动和滑动窗口

    目录 案例二 基于数量的滚动和滑动窗口 需求 代码实现 案例二 基于数量的滚动和滑动窗口 需求 需求1:统计在最近5条消息中,各自路口通过的汽车数量,相同的key每出现5次进行统计--基于数量的滚动窗 ...

  3. 2021年大数据Flink(十九):案例一 基于时间的滚动和滑动窗口

    目录 案例一 基于时间的滚动和滑动窗口 需求 代码实现 案例一 基于时间的滚动和滑动窗口 需求 nc -lk 9999 有如下数据表示: 信号灯编号和通过该信号灯的车的数量 9,3 9,2 9,7 4 ...

  4. 2021年大数据HBase(十一):Apache Phoenix的视图操作

    全网最详细的大数据HBase文章系列,强烈建议收藏加关注! 新文章都已经列出历史文章目录,帮助大家回顾前面的知识重点. 目录 系列历史文章 前言 Apache Phoenix的视图操作 一.应用场景 ...

  5. 2021年大数据Hive(十一):Hive调优

    全网最详细的大数据Hive文章系列,强烈建议收藏加关注! 新文章都已经列出历史文章目录,帮助大家回顾前面的知识重点. 目录 系列历史文章 前言 Hive调优 一.本地模式 1.空key处理 二.SQL ...

  6. 2021年大数据Kafka(十一):❤️Kafka的消费者负载均衡机制和数据积压问题❤️

    全网最详细的大数据Kafka文章系列,强烈建议收藏加关注! 新文章都已经列出历史文章目录,帮助大家回顾前面的知识重点. 目录 系列历史文章 Kafka的消费者负载均衡机制和数据积压问题 一.kafka ...

  7. 2021年大数据Flink(三十三):​​​​​​​Table与SQL相关概念

    目录 相关概念 Dynamic Tables & Continuous Queries ​​​​​​​Table to Stream Conversion ​​​​​​​ ​​​​​​​相关概 ...

  8. 2021年大数据Flink(三十七):​​​​​​​Table与SQL ​​​​​​案例四

    目录 案例四 需求 代码实现 案例四 需求 从Kafka中消费数据并过滤出状态为success的数据再写入到Kafka {"user_id": "1", &qu ...

  9. 2021年大数据Flink(三十):Flink ​​​​​​​Table API  SQL 介绍

    目录 ​​​​​​​Table API & SQL 介绍 为什么需要Table API & SQL ​​​​​​​Table API& SQL发展历程 架构升级 查询处理器的选 ...

最新文章

  1. calendar 获取季度的第一天_Java日期查询:日、周、旬、月、季度、年等时间操作...
  2. UA MATH636 信息论7 高斯信道简介
  3. 如何在page_load方法判断是服务器端控件引发的page_load方法
  4. exports、module.exports和export、export default到底是咋回事
  5. 段的创建表user_segments
  6. Calculation控制台
  7. 【Java线程】深入理解Volatile关键字和使用
  8. python怎么另起一行阅读答案_使用Python+Dlib构建人脸识别系统(在Nvidia Jetson Nano 2GB开发板上)...
  9. Android BottomNavigationBar导航栏
  10. PyTorch实战福利从入门到精通之一——PyTorch框架安装
  11. ETH开发 JSONRPC
  12. c语言编写转动惯量的数据处理函数,【物理实验】C语言处理刚体惯量数据,上物理实验的戳进.省90......
  13. 让win10系统不进行自动更新的方法
  14. Struts1与Struts2原理以及区别
  15. redis的二进制安全机制理解
  16. 如何实现图片的上传-(上传到本地)
  17. splash : mouse_click()方法
  18. PHP人民币小写数字转大写中文
  19. godaddy nginx_2020年7种最佳GoDaddy替代品(更便宜且更可靠)
  20. 高效软件定时器的设计

热门文章

  1. 2021-2027年中国一体化预制泵站行业研究及前瞻分析报告
  2. 2022-2028年中国高纯锑行业市场全景研究及发展趋势分析报告
  3. 浅显易懂 Makefile 入门 (10)— 嵌套执行 make、export 的使用
  4. Tensorflow中tf.ConfigProto()详解
  5. 使用最新版(2020)IntelliJ IDEA 创建Servlet项目
  6. PyTorch数据加载处理
  7. 对端边缘云网络计算模式:透明计算、移动边缘计算、雾计算和Cloudlet
  8. CUDA Pro:通过向量化内存访问提高性能
  9. tensorflow-yolov4实施方法
  10. SVN无法CO检出web目录