hive编程指南——读书笔记1(hive命令)

hive编程指南——读书笔记1(hive命令)_第1张图片
HWI:hive网页界面
CLI:命令行模式
Metastor(元数据存储)是一个独立的关系型数据库(通常是一个MySQL实例),Hive会在其中国保存表模式和替他系统元数据。

Hive本身不会生成java MapReduce算法程序。
Hive通过一个表示“job执行计划”的XML文件驱动执行内置的、原生的Mappper和Reduce模块。
Hive中所有的内置属性都在$HIVE_HOME/conf/hivedefault.xml.template中列举出来了,配置文件中还说明这些属性的默认值。

用户可能有时期望执行一个或多个查询(使用分号分隔,不是查询语句也可以,其他的hive语句也可以),执行结束后hive CLI立即退出。可以使用 **hive -e “…”**这种模式。例:

hive -e "select * from mytable limit 3;"

可以使用hive -S -e "…“ 开启静默模式,输出结果去除一些无关紧要的信息。
hive中可以使用-f文件名方式执行指定文件中的一个或者多个查询语句。按照惯例,一般把这些Hive查询文件保存为*.ql或 .hql。 例:$hive -f /path/.hql
在hive shell里也可以用source命令执行一个脚本文件。 hive> source /path/*.hql;

hiverc文件
可以指定一个文件,当CLI启动时,在提示符出现前会先执行这个 .hiverc的文件。(适用于需要频繁执行的命令)

在hive里,每一个完整的语句后都要加分号,不然这个语句将包含后面所有的语句,直到遇到下一个分号。
CLI不会讲多行命令和查询作为一个单独的历史条目,hive会将最近的10000行命令记录到文件$home/.hivehistory中。

在hiveCLI中执行shell命令
在命令前加!并以分号结尾就可以执行简单的bash shell命令
不能使用需要用户输入的交互式命令,不支持shell管道功能和文件名自动补全功能。

在hive内使用hadoop命令
只需要将hadoop去掉,以分号结尾就可以

hive脚本中注释 – 注:带注释的hive语句不能再CLI中执行,只能放在脚本执行
显示字段名称 set hive.cli.print.header=true;
如果重视希望看的字段名称,只需要将语句放到$home/.hiverc文件中即可。

心得体会
看网上各种各样的帖子固然能解决一时的问题,但是通过细读书本后才发现,你遇到的哪些问题,书里早已经做了解决,只是你没有发现而已。

你可能感兴趣的:(hive读书笔记)