一、准备工作

1.1  下载地址

https://github.com/apache/hive

https://dlcdn.apache.org/hive/

版本:2.3.9

1.2 环境依赖

hadoop2.x

mysql

maven

java8

1.3 Idea插件

需要在idea中搜索安装ANTLR插件

二、本地编译运行

2.1 编译

mvn clean package -DskipTests -Pdist

2.2 配置hive,前提是其他环境已经配置好

参考安装hive博客

2.3 hive配置客户端debug模式

bin/hive --debug -hiveconf hive.root.logger=DEBUG,console

当开启debug模式时,JVM会监听8000端口,等待客户端调试连接,我们需要在IDE配置debug的远程端口连接上去。

2.4 开启调试

IntelliJ -> Open -> pom.xml of hive source -> Run -> Debug… -> Edit Configurations… -> + -> Remote

当我们配置好Name、Host、Port后,点击debug,则此时会连接localhost的8000端口,真正开启 hive cli,对应的源码入口是 org.apache.hadoop.hive.cli.CliDriver#main,待hive cli启动成功后,可以输入hql进行代码调试了。

其它:

参考文献

hive本地环境搭建:https://qingzhongli.com/hive-source-read-local-env-setup/

Idea安装antlr插件: https://cloud.tencent.com/developer/article/1556983

Hive源码解析环境搭建的更多相关文章

  1. 渣渣菜鸡的 ElasticSearch 源码解析 —— 环境搭建

    关注我 转载请务必注明原创地址为:http://www.54tianzhisheng.cn/2018/08/25/es-code01/ 软件环境 1.Intellij Idea:2018.2版本 2. ...

  2. Spark源码分析环境搭建

    原创文章,转载请注明: 转载自http://www.cnblogs.com/tovin/p/3868718.html 本文主要分享一下如何构建Spark源码分析环境.以前主要使用eclipse来阅读源 ...

  3. 【转】Linux(ubuntu14.04)上编译Android4.4源码的环境搭建及编译全过程

    原文网址:http://jileniao.net/linux-android-building.html sublime text让我伤心.本来很信任sublime text的自动保存功能,之前使用一 ...

  4. 基于Eclipse IDE的Ardupilot飞控源码阅读环境搭建

    基于Eclipse IDE的Ardupilot飞控源码阅读环境搭建 作者:Awesome 日期:2017-10-21 需准备的软件工具 Ardupilot飞控源码 PX4 toolchain JAVA ...

  5. Hadoop源码阅读环境搭建(IDEA)

    拿到一份Hadoop源码之后,经常关注的两件事情就是 1.怎么阅读?涉及IDEA和Eclipse工程搭建.IDEA搭建,选择源码,逐步导入即可:Eclipse可以选择后台生成工程,也可以选择IDE导入 ...

  6. Hive源码解析

    date: 2020-07-08 15:12:00 updated: 2020-08-21 17:38:00 Hive源码解析 入口:hive-cli-1.1.0-cdh5.14.4.jar!/org ...

  7. Cesium源码阅读环境搭建

    1. 引言 Cesium是一款三维地球和地图可视化开源JavaScript库,使用WebGL来进行硬件加速图形,使用时不需要任何插件支持,基于Apache2.0许可的开源程序,可以免费用于商业和非商业 ...

  8. Spring5源码阅读环境搭建-gradle构建编译

      前沿:Spring系列生态十分丰富,涉及到各个方面.但是作为Spring生态的核心基础Spring,是最重要的环节,需要理解Spring的设计原理,我们需要解读源码.   在构建Spring源码阅 ...

  9. 深入理解Tomcat系列之二:源码调试环境搭建(转)

    前言 最近对Tomcat的源码比较感兴趣,于是折腾了一番.要调试源码首先需要搭建环境,由于参考了几篇帖子发现都不怎么靠谱,最后还是折腾出来了,然而却花了足足一天的时间去搭建这个环境.发现都不是帖子的问 ...

  10. Dubbo源码学习--环境搭建及基础准备(ServiceLoader、ExtensionLoader)

    环境搭建 Github上下载Dubbo最新发布版本,楼主下载版本为2.5.7. cd到源码解压目录,maven编译,命令为: mvn clean install -Dmaven.test.skip 生 ...

随机推荐

  1. 无需配对数据的对比学习图像到图像转换,助力跨域物体检测 | BMVC'24

    来源:晓飞的算法工程笔记 公众号,转载请注明出处 论文: Improving Object Detection via Local-global Contrastive Learning 论文地址:h ...

  2. VUE 改成history 模式 刷新404 的问题

    vue 路由的URL有两种模式,一种是 hash,一种是history ,history 模式更好看一些. 在使用hisory模式时,由于地址并不是真实存在,那么在刷新的情况下,这个会报404错误. ...

  3. Python实验:Socket编程

    实验六 Socket 编程 一.实验目标: 了解TCP协议原理.标准库socket 的用法.熟悉Socket 编程. 1.TCP协议原理: TCP(Transmission Control Proto ...

  4. Grid 网格布局备忘录

    概述 网格布局(Grid)是最强大的 CSS 布局方案. 它将网页划分成一个个网格,可以任意组合不同的网格,做出各种各样的布局. Grid 布局与 Flex 布局有一定的相似性,都可以指定容器内部多个 ...

  5. 08C++选择结构(2)

    一.逻辑变量 教学视频 存储类似灯亮或灯灭.是男还是女等结果只有两种可能的数据时,可以使用逻辑型变量. 逻辑型变量用关键字bool定义,所以又称为布尔变量,其值只有两个false(假)和true(真) ...

  6. 5.mysql中的触发器

    创建存储过程和函数 触发器 ● create trigger语句用来创建一个触发器,触发器的作用是当表上有对应SQL语句发生时,则触发执行 ● 触发器创建时需要指定对应的表名tbl_name crea ...

  7. 【Vue】前端直接显示MySQL Datatime时间,显示为英文如何处理

    问题如图 想让时间显示为自己想要的格式,可以自己编写一个函数 const formatDate= (timestamp)=> { const date = new Date(timestamp) ...

  8. 【C#】【平时作业】习题-3-数组

    1. 设计一个数组用于存放10个整数,然后计算这十个整数之和? private void btn1_Click(object sender, EventArgs e) { int temp = 0; ...

  9. java到报名的编码运行

    Hello.java package a.b; import com.beyondiary.kit.KitConstant; public class Hello { public static vo ...

  10. JunitGenerator

    ######################################################################################## ## ## Avail ...