Hadoop 复习整理(Hive-(概念))

本文详细介绍了Hive的体系结构,包括用户接口如CLI、JDBC、ODBC和WUI,以及Thrift服务器的作用。解析器、编译器和优化器在HQL处理中的角色,执行器如何执行Job。元数据库存储在关系数据库中,用于管理库、表、分区和数据位置等信息。分区和桶的概念被阐述,强调它们在查询效率和数据组织中的作用。此外,还讨论了Hive的存储格式,如SerDe和不同的文件格式选项。
摘要由CSDN通过智能技术生成

Hive体系结构

用户接口
CLI:Cli 启动的时候,会同时启动一个Hive 副本。
JDBC客户端:封装了Thrift,java应用程序,可以通过指定的主机和端口连接到在另一个进程中运行的hive服务器
ODBC客户端:ODBC驱动允许支持ODBC协议的应用程序连接到Hive。
WUI 接口:是通过浏览器访问Hive
Thrift服务器:
  基于socket通讯,支持跨语言。Hive Thrift服务简化了在多编程语言中运行Hive的命令。绑定支持C++,Java,PHP,Python和Ruby语言。

解析器
编译器:完成HQL 语句从词法分析、语法分析、编译、优化以及执行计划的生成。
优化器:是一个化组件,当前它的规则是:列修剪,谓词下压。
执行器会顺序执行所有的Job。如果Task链不存在依赖关系,可以采用并发执行的方式执行Job。
元数据库:
Hive的数据由两部分组成:数据文件和元数据。元数据用于存放Hive库的基础信息,它存储在关系数据库中,如mysql、derby。元数据包括:数据库信息、表的名字,表的列和分区及其属性,表的属性,表的数据所在目录等

Hive也用数据库,不过只将元数据存储在数据库中,数据存储在HDFS数据仓库中。


分区<

如果已经通过`git rebase -i`将上一步合并的记录视为单一步骤,并且现在想要将其拆分成两个独立的提交,需要重新组织`git rebase -i`中的编辑模式。以下是操作流程: 1. **查看当前状态**:首先确定你在哪个rebase阶段,以及合并后的提交ID。可以用`git status`和`git log`检查。 2. **打开交互式rebase**: ```bash git rebase -merge>` 是在合并之前的一个提交,比如`HEAD~2`,它会让你看到一个包含所有待处理提交的列表。 3. **编辑rebase-i文件**: 编辑器打开后,你会看到类似这样的内容: ``` pick <commit1> pick <commit2> (was squash of <commit3> and <commit4>) ``` `commit2` 是你合并了的那次提交。将 `pick` 改为其他选项,如 `reset` 或 `edit`,表示将这个提交还原成未合并的状态。 - 如果选择 `reset`,Git 会回退到该提交,并保持其父提交不变。 - 如果选择 `edit`,则允许你直接编辑这次合并的改动,然后再提交。 4. **处理合并提交**: 根据你的需求,可以选择一个操作。比如,如果你想拆分,那么将 `pick <commit2>` 更改为两行,每行对应一个新提交,分别为: ``` pick <commit3> pick <commit4> ``` 其中 `<commit3>` 和 `<commit4>` 分别是你原来要合并的两个提交的ID。 5. **保存并退出编辑器**: 保存并关闭编辑器。Git 会根据你的编辑重新安排提交顺序。 6. **确认和提交**: 按照提示进行下一步操作,可能是`continue`、`skip`等,最后再次提交新创建的两个独立提交。 7. **清除临时合并提交**: 如果不需要保留临时合并提交的记录,可以使用 `git reset HEAD~1` 来回退一步,这样原始的`<commit2>` 就消失了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值