栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

flinksql 解析学习

flinksql 解析学习

Flink sql 之sql 解析篇:
1.主要是为了实现 利用flink 原生引擎去解析sql 生成语法树,打印日志信息便于去维护。
2.flink解析之Calcite和sql 解析过程
sql 解析阶段:calcite parser 解析(sql -> AST,AST 即 SqlNode Tree)
SqlNode 验证阶段:calcite validator 校验(SqlNode -> SqlNode,语法、表达式、表信息)
语义分析阶段:SqlNode 转换为 RelNode,RelNode 即 Logical Plan(SqlNode -> RelNode)
优化阶段:calcite optimizer 优化(RelNode -> RelNode,剪枝、谓词下推等)
物理计划生成阶段:Logical Plan 转换为 Physical Plan(等同于 RelNode 转换成 DataSetDataStream API)
后续的运行逻辑与 datastream 一致(转自大数据羊说)https://juejin.cn/post/7003903405005471757
https://calcite.apache.org/
3.例子
SELECt
sum(part_pv) as pv,
window_start
FROM (
SELECt
count(1) as part_pv,
cast(tumble_start(rowtime, INTERVAL ‘60’ SECOND) as bigint) * 1000 as window_start
FROM
source_db.source_table
GROUP BY
tumble(rowtime, INTERVAL ‘60’ SECOND)
, mod(id, 1024)
)
GROUP BY
window_start
https://cloud.tencent.com/developer/article/1243475 作为参考
代码正在疯狂打码中。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/718962.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号