11 2020 档案

摘要:上一篇:基于calcite做傻瓜式的sql优化(二) 上一篇说到的是Hive是如何对sql进行解析,生成ASTNode 那么Hive拿到ASTNode之后,就会触发:BaseSemanticAnalyzer.analyze这个方法; 这个方法非常的重要,从AST到task的生成这一系列的操作,都会在 阅读全文
posted @ 2020-11-23 23:34 niutao 阅读(3796) 评论(8) 推荐(2) 编辑
摘要:上一篇:基于calcite做傻瓜式的sql优化(一) 因为主要想借助hive的思路来实现对sql的优化,所以这一篇主要是梳理一条sql在hive内部大概是什么样的生命周期 首先通过一张图看下,内部sql大概执行流: sql经过一系列的规则处理后,最后变成task tree,然后mapreduce通过 阅读全文
posted @ 2020-11-23 21:42 niutao 阅读(3209) 评论(0) 推荐(0) 编辑
摘要:我们要做的事情大概分3步: 1、需求的描述(主要把问题点抛出来) 2、解决如何优化sql性能的问题(hive关于一条sql的生命周期源码的分析),也就是如何对你的sql进行RBO和CBO的优化 3、解决如何自动识别sql元数据的问题(antlr关于如何深度优先遍历语法树) 背景: 我们有一套智能中台 阅读全文
posted @ 2020-11-15 22:53 niutao 阅读(2167) 评论(0) 推荐(3) 编辑