Hive 源码解读 准备篇 Debug 讲解

Posted @SmartSi

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Hive 源码解读 准备篇 Debug 讲解相关的知识,希望对你有一定的参考价值。

使用 Hive 执行 HQL 查询时遇到 bug,解决办法无非几种,explain HQL、查看日志、远程 Debug,本文就将详细讲解如何使用 Idea 远程 Debug。

1. Debug 环境准备

下载 Hive 源码包,自行编译一下,建议在 Linux 环境下编译,然后将整个编译好的包全部拷贝到 IDEA 工作目录中并使用 IDEA 打开。本文是以 Hive 2.3.4 版本作为讲解。克隆到本地后切换到 2.3.4 版本:

git checkout release-2.3.4 rel/release-2.3.4

本地需要先编译一下整个工程,因为有些代码是用 Antlr 自动生成的,编译之后,会产生对应的类。可以使用如下语句进行编译:

mvn clean package -Pdist -DskipTests -Dmaven.javadoc.skip=true

如果编译过程中出现 Failed to read artifact descriptor for org.apache.directory.client.ldap:ldap-client-api:jar:0.1-SNAPSHOT 错误,可以查阅博文 Hive 3.1.3 编译出错 ldap-client-api:jar:0.1-SNAPSHOT 获取不到 解决。如果编译结束之后出现如下信息,表示你的编译成功了&#

以上是关于Hive 源码解读 准备篇 Debug 讲解的主要内容,如果未能解决你的问题,请参考以下文章

PolarDB-X 全局 Binlog 解读之性能篇(上)

从Hive源码解读大数据开发为什么可以脱离SQLJavaScala

端午特别篇-Spring源码解读

深入mybatis源码解读~手把手带你debug分析源码

Netty 核心源码解读 —— ServerBootstrap 篇

源码解读:ArrayList源码解析(JDK8)