FlinkSql 使用总结

news/2024/12/5 0:28:55/

一、FlinkSQL底层实现理解

  1. FlinkSQL在flink Framework的位置
    Flink Table & SQL API是在DataStream和DataSet之上封装的一层高级API。由于DataStream和DataSet有各自的API,开发起来又有些困难,如果只是应对一些相对通用的需求会有点麻烦。而Flink Table & SQL API,通过关系型的API简化了内部的复杂实现。
    flink Framework 架构图
  2. Flink SQL底层实现
    Flink SQL通过calcite实现:
    解析(字符串SQL转AST抽象语法树)
    校验(语法、表达式、表信息)
    优化(剪枝、谓词下推)
    转换(逻辑计划转换成物理执行计划=Node转换成DataSet\DataStream API)
    最终把SQL转换成DataSet或DataStream的API。
    https://zhuanlan.zhihu.com/p/100524866

二、基础语法学习

https://zhuanlan.zhihu.com/p/559842405


http://www.ppmy.cn/news/344581.html

相关文章

如何防范银行网点潜在风险?这4点一定要记牢

银行作为金融机构,具有重要的资金和客户信息,其安全性和监控是至关重要的。银行网点监控能够有效保护银行资产,确保员工和客户的安全,预防潜在的犯罪行为。 客户案例 上海市某银行在全国多地拥有大量分支机构和网点。他们面临着需…

使用uniapp的扩展组件,在微信小程序中出现报错如何解决

在 vue-cli 项目中可以使用 npm 安装 uni-ui 库 ,或者直接在 HBuilderX 项目中使用 npm 。 注意 cli 项目默认是不编译 node_modules 下的组件的,导致条件编译等功能失效 ,导致组件异常 需要在根目录创建 vue.config.js 文件 ,增…

ORA-06502

ORA-06502: PL/SQL: numeric or value error: number precision too large 今天调试一个oracle函数,报该错误,原来以为是插入表的数据精度大于表字段定义精度导致 逐步排查发现精度并不比表字段精度大,再三检查程序还是无果,就在…

解决vscode插件Live Server默认端口号无法修改的问题

如果你觉得Live Server插件默认的端口号5500不符合你的要求,想要修改端口号,那么你可能会遇到一点点麻烦的事情: 首先是否麻烦取决于你要判断你的Live Server端口还是不是默认的: 先随便运行一个html文件,注意看右下…

zkcPDA手持终端机5502型号打印功能实现

zkcPDA手持终端机5502型号打印功能实现 记录一下uniapp开发安卓终端设备遇到的坑&#xff0c;也给和我同样经历着前端开发安卓设备的工友提供一点点帮助 <div id"btnPrint" type"button" value"打印" click"print(00:11:22:33:44:55)&…

ARM仿真下载调试器 SWD编程器 Jlink OB下载器 超STLINK 代替V8

传统JLINK体积大、引脚多&#xff0c;而且我们用的非官方版本&#xff0c;经常掉固件&#xff0c;诸多问题一直困扰着我&#xff0c;经过一番折腾&#xff0c;终于找到了正解&#xff1a;jlinkob&#xff0c;一个只有三条线的调试器&#xff0c;除了不能检测目标板电压&#xf…

@EnableFeignClients

一、EnableFeignClients https://andyboke.blog.csdn.net/article/details/86680622 在Spring cloud应用中&#xff0c;当我们要使用feign客户端时&#xff0c;一般要做以下三件事情&#xff1a; 1. 使用注解EnableFeignClients启用feign客户端&#xff1b;扫描和注册feign客…

linux下通过ssh用户名密码的rsync传输文件方法

一般用rsync传输文件都会使用密钥的方式实现免密码验证&#xff0c;但有些机器由于特殊的原因&#xff0c;不能配置密钥&#xff0c;这时就要用ssh的用户名和密码方式使用rsync 1. 首先&#xff0c;通过ssh 命令登录一次远程的主机&#xff0c;这里假设远程的主机为12.12.12.1…