• 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏吧

标签:hive源码阅读

hive

Hive源码系列(八)编译模块之语义解析 整体分析

Hive源码系列(八)编译模块之语义解析 整体分析
语义解析主要是把AST Tree转化为QueryBlock,那为什么要转成QueryBlock呢?从之前的分析,我们可以看到AST Tree 还是很抽象,并且也不携带表、字段相关的信息,进行语义解析可以将AST Tree分模块存入QueryBlock 并携带对应的元数据信息,为生成逻辑执行计划做准备   简单串一下语义解析 sql编译器的入口: ……继续阅读 »

diligentman 3个月前 (08-29) 29浏览 0个赞

大数据

Hive源码系列(七)编译模块之词法、语法解析 (下)

Hive源码系列(七)编译模块之词法、语法解析 (下)
这篇主要介绍hive词法、语法解析的源码 以及hive AstTree 1、Hive的语法文件 对一个已有的项目进行语法分析,首先是要找到语法分析文件,分析语法文件之间的关系,然后根据语法分析文件提供的接口,确定语法解析在这个体系中所处的位置。 语法文件是以.g结尾   基本可以确定了 ql下面就是需要找到东西   HiveLexer.g 是做词法分析……继续阅读 »

diligentman 3个月前 (08-29) 31浏览 0个赞

hive

Hive源码阅读系列(六)编译模块之词法、语法解析 (中)

Hive源码阅读系列(六)编译模块之词法、语法解析 (中)
这篇主要举实际案例说明怎么使用antlr工具、利用antlr生成的Lexer、Parser、TreeParser代码,获取asttree。这些都是hive获取asttree的过程,理解了这些,再理解hive的asttree就很容易了   程序设计语言入门小案例一般都用“Hello World”,在编译领域的入门往往选择计算器。而我们这次的小案例就更简单:……继续阅读 »

diligentman 3个月前 (08-29) 32浏览 0个赞

大数据

Hive源码阅读系列(五)编译模块之词法、语法解析 (上)

Hive源码阅读系列(五)编译模块之词法、语法解析 (上)
词法、语法解析模块会先介绍一下antlr环境(上)。然后举实际案例说明怎么使用antlr工具、利用antlr生成的Lexer、Parser、TreeParser代码,获取asttree。这些都是hive获取asttree的过程,理解了这些,再理解hive的asttree就很容易了(中)。 最后 详细介绍hive词法、语法解析的源码 以及hive AstTr……继续阅读 »

diligentman 3个月前 (08-29) 29浏览 1个赞

hive

Hive源码阅读系列(四)编译模块之整体介绍

Hive源码阅读系列(四)编译模块之整体介绍
  这次主要对Hive编译模块做整体介绍,后面会针对流程中的每一步做详细分析   1、Hive执行过程回顾     client:用户通过客户端提交查询操作 Driver:提供执行接口,负责接收查询请求并建立session,创建一系列环境参数等 Compiler:Hive的编译器,负责将sql转化为平台可执行的执行计划 MetaStore:Hi……继续阅读 »

diligentman 3个月前 (08-28) 34浏览 0个赞

大数据

Hive源码阅读系列(二) hive2.1.1源码导入eclipse并做初步运行

Hive源码阅读系列(二) hive2.1.1源码导入eclipse并做初步运行
上一篇主要写了hive2.1.1源码编译并编译成eclipse项目,这一篇主要写将hive2.1.1源码导入eclipse以及运行hive命令的入口类CliDriver.java。在导入及运行的过程会遇到各种各样的问题,本文写了自己遇到的问题及解决方案。把项目跑起来非常重要,这些都是我们后面分析调试hive编译模块源码的基础。   1、安装ecl……继续阅读 »

diligentman 3个月前 (08-28) 29浏览 0个赞

大数据

Hive源码阅读系列(一) hive2.1.1源码编译并编译成eclipse项目

Hive源码阅读系列(一) hive2.1.1源码编译并编译成eclipse项目
这是一篇工具类的文章,工欲善其事必先利其器,要分析调试hive源码,必须搭建一套hive的运行环境。还记得第一次搭建hive源码调试环境,用了一个月的时间,才完全跑通整个调试过程。中间遇到各种各样莫名奇妙的问题,也有好多次想放弃,幸好坚持了下来。   我在调试hive源码时,主要使用eclipse,所以最终要把hive源码编译成eclipse项目,方便导入……继续阅读 »

diligentman 3个月前 (08-28) 51浏览 1个赞