搞懂Flink-FlinkSql

本文介绍了Flink SQL在数据处理中的重要性,讲解了Flink批流一体的时间节点,从1.9.0版本开始的Blink Planner如何实现批流一体。还详细讨论了Flink使用的Calcite SQL解析器及其功能,包括解析、校验、优化和执行过程。同时,阐述了Flink与Hive的集成,包括HiveCatalog的角色和实时数仓的实现,以及实时写入分区数据可见性的处理策略。
摘要由CSDN通过智能技术生成

 前言:

    sql作为一个高级的数据处理语言,在做数据开发和数仓分析师等岗位是必不可少的一项技能,本人一开始从事数据开发偏工程的职位,随着工作需要逐渐学习sql,sql的学习入门和使用其实相对不是很难,实际生产中要深刻的理解业务并且通过sql产出结果数据是相对的比较难,所以这篇博客的意义在于使大家在使用sql的同时可以了解flink sql的原理。

sql最为flink系统的最高等级语言

Flink批流一体的时间节点 

在发布1.9.0版本的时候,阿里开源的blink planner 代替了flink原始的planner成为了默认的planner模块,从此版本正式以流代码为核心,重新设计算子真正意义实现了批流一体

Flink使用的sql解析器:calcite(和hive是一样的)

calcite 不存储的元数据和基本数据,只提供sql解析功能

Calcite 主要的功能

1,sql解析(Parser)

通过Java CC实现的,(通过一个配置文件可以根据语法和词法解析成可以执行的java程序代码)

经过javaCC把sql转换成可以执行的AST抽象语法树

2,sql校验(Validato)

把解析好的sql进行是否可执行的校验操作

1)语法的校验,看sql是否符合语法规范

2)词法的校验,校

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值