前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Hive源码系列(四)hive2.1.1源码包介绍及调试

Hive源码系列(四)hive2.1.1源码包介绍及调试

作者头像
数据仓库践行者
发布2020-04-18 00:13:32
1.3K0
发布2020-04-18 00:13:32
举报
文章被收录于专栏:数据仓库践行者

这次主要对hive源码包及hive的两种调试方式做了介绍,这篇结束后,整个源码调试环境的搭建已经完成。

源码包介绍参考官网:

https://cwiki.apache.org/confluence/display/Hive/DeveloperGuide#DeveloperGuide-CodeOrganizationandaBriefArchitecture

1、Hive源码包介绍

  • hive三个最重要的组件:

serde:这个组件是 hive内置的一些序列化解析类,此组件允许用户自己开发自定义序列化、反序列化文件解析器

MetaStore:hive的元数据服务器,用来存放数据仓库中所有表和分区的信息,hive元数据建表sql、升级sql脚本都存放在此目录下

ql:此组件用于解析sql生成执行计划(hive核心包,熟读此包,可了解hive执行流程核心)

  • 其他组件

cli:hive命令的入口,用于处理命令行提交作业

service:此组件所有对外api接口的服务端(通过thrift实现),可用于其他客户端与hive交互,比如jdbc。

common:hive基础代码库,hive各个组件信息的传递也是有此包HiveConf类来管理。

ant:此组件包含一些ant任务需要的基础代码

bin:此组件包涵hive里的所有脚本,包括hivecli的脚本

beeline: HiveServer2提供的一个新的命令行工具Beeline

hcatalog: 是apache开源的对于表和底层数据管理统一服务平台,HCatalog底层依赖于Hive Metastore

findbugs:Findbugs是一个在java程序中查找bug的程序,它查找bug模式的实例,也就是可能出错的代码实例,注意Findbugs是检查java字节码,也就是*.class文件。

hwi: hive web页面的接口

shims: shims相关类是用来兼容不同的hadoop和hive版本

llap: 是基于tez的一种近实时查询方案

  • hive辅助组件

conf: 此目录包涵hive配置文件hive-default.xml、hive-site.xml

data: hive测试所用数据

lib: hive运行期间依赖的jar

2、调试

  • 远程调试

使用hive –debug启动hive远程调试模式

可以看到监听端口是8000,处于等待状态

设置eclipse远程调试:

在cliDriver类中打断点,在CliDriver类上右键Debug As->DebugConfigurations

右键Remote Java Application-> New

点Debug,我们看到hive shell会继续执行

输入命令进入调试:

  • 本地调试

本地调试是通过运行hive-cli项目中的CliDriver类来进行调试:

在cliDriver类中打断点,在CliDriver类上右键Debug As->Java Application

点击yes进入调试界面

在分析hive源码过程中,本地调试用起来更为方便

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2018-12-04,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 数据仓库践行者 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
文件存储
文件存储(Cloud File Storage,CFS)为您提供安全可靠、可扩展的共享文件存储服务。文件存储可与腾讯云服务器、容器服务、批量计算等服务搭配使用,为多个计算节点提供容量和性能可弹性扩展的高性能共享存储。腾讯云文件存储的管理界面简单、易使用,可实现对现有应用的无缝集成;按实际用量付费,为您节约成本,简化 IT 运维工作。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档