Hive内存存储格式
TextFile:默认数据不做压缩,磁盘开销大数据解析开销大,可用Stored as Textfile指定。
SequenceFile:使用方便、可分割、可压缩,可供多个mapper并发读取。可使用stored as sequencefile指定。SequenceFile支持三种压缩选择:none,record,block.
RCFile:列式存储方式,数据加载时性能消耗比较大,但有有好的压缩比。存储理念:先水平划分再垂直划分。保证同一行数据位于同一节点。
Hive执行生命周期
步骤
1. CliDriver交互模式
入口/bin/cli.sh
调用CliDriver类进行初始化过程
处理-e,-f,-h等信息,如果是-h打印提示信息提示退出
读取hive配置文件,设置hiveConf
创建一个控制台,进入交互模式
2. 读取命令processLine进行分割处理
在交互方式下,读取每一个输入命令行,直到;为止,然后提交给processline方法处理,该方法将输入流以;分割成多个命令然后交给processCmd(cmd)方法
3. ProcessCmd判断为操作系统命令进行相应处理
processCmd(cmd)对输入的命令行进行判断,根据命令的第一个记号(Token),分别进入相应的流程
Quit or exit系统正常退出
!开关的命令行执行操作系统命令
source开关的,读取外部文件并执行文件中的命令
TextFile:默认数据不做压缩,磁盘开销大数据解析开销大,可用Stored as Textfile指定。
SequenceFile:使用方便、可分割、可压缩,可供多个mapper并发读取。可使用stored as sequencefile指定。SequenceFile支持三种压缩选择:none,record,block.
RCFile:列式存储方式,数据加载时性能消耗比较大,但有有好的压缩比。存储理念:先水平划分再垂直划分。保证同一行数据位于同一节点。
Hive执行生命周期
步骤
1. CliDriver交互模式
入口/bin/cli.sh
调用CliDriver类进行初始化过程
处理-e,-f,-h等信息,如果是-h打印提示信息提示退出
读取hive配置文件,设置hiveConf
创建一个控制台,进入交互模式
2. 读取命令processLine进行分割处理
在交互方式下,读取每一个输入命令行,直到;为止,然后提交给processline方法处理,该方法将输入流以;分割成多个命令然后交给processCmd(cmd)方法
3. ProcessCmd判断为操作系统命令进行相应处理
processCmd(cmd)对输入的命令行进行判断,根据命令的第一个记号(Token),分别进入相应的流程
Quit or exit系统正常退出
!开关的命令行执行操作系统命令
source开关的,读取外部文件并执行文件中的命令