文章分类 - 查询引擎
摘要:上一篇:基于calcite做傻瓜式的sql优化(二) 上一篇说到的是Hive是如何对sql进行解析,生成ASTNode 那么Hive拿到ASTNode之后,就会触发:BaseSemanticAnalyzer.analyze这个方法; 这个方法非常的重要,从AST到task的生成这一系列的操作,都会在
阅读全文
摘要:上一篇:基于calcite做傻瓜式的sql优化(一) 因为主要想借助hive的思路来实现对sql的优化,所以这一篇主要是梳理一条sql在hive内部大概是什么样的生命周期 首先通过一张图看下,内部sql大概执行流: sql经过一系列的规则处理后,最后变成task tree,然后mapreduce通过
阅读全文
摘要:我们要做的事情大概分3步: 1、需求的描述(主要把问题点抛出来) 2、解决如何优化sql性能的问题(hive关于一条sql的生命周期源码的分析),也就是如何对你的sql进行RBO和CBO的优化 3、解决如何自动识别sql元数据的问题(antlr关于如何深度优先遍历语法树) 背景: 我们有一套智能中台
阅读全文
摘要:最近在测试环境下,hive的metastore不稳定,于是做一次JVM优化 在hive-env.sh中 export HADOOP_HOME=/opt/cdh/hadoop-2.6.0-cdh5.14.0 if [ "$SERVICE" = "cli" ]; then if [ -z "$DEBUG
阅读全文