Hive基础概念(一)

Hive是基于hadoop的数据仓库  

用CLI(命令行界面)与Hive进行交互

Hive通过一个表示‘job执行计划’的XML文件驱动执行内置的、原生的Mapper和Reducer 

Hive通过和JobTracker通信来初始化MapReduce任务(job),而不必部署在JobTracker所在的管理节点上执行。在大型集群上通常有网关机专门用于部署像Hive这样的工具。在这些网关机上可远程和管理节点上的JobTracker通信来执行任务(job),通常,要处理的数据文件是存储在HDFS中,而HDFS是由NameNode管理的。

Metastore(元数据存储)是一个独立的关系型数据库(通常是一个mysql实例),Hive会在其中保存表模式和其他系统元数据

所有的Hive客户端都需要一个metastoreservice(元数据服务),Hive使用这个服务来存储表模式信息和其他元数据信息。通常情况下不会使用一个关系型数据库中的表来存储这些信息。默认情况下,Hive会使用内置的Derby SQL服务器,其可以提供有限的、单进程的存储服务

 

Hive变量内部都是以java字符串的方式存储的,在CLI中,可以使用set命令显示或修改变量值,set命令还可以用于变量赋新的值

 

Hive中“一次使用”命令:

[zkpk@master hadoop-2.5.1]$  hive -e "select * from sogou.sogou_20111230 limit 3";

 

从文件中执行Hive查询:

[zkpk@master hadoop-2.5.1]$ vim 1

[zkpk@master hadoop-2.5.1]$ hive -f 1

1里面是show databases;

 

Hive 会将最近的10,000行命令记录到文件$HOME/.hivehistory中

 

CLI不会解析注释行的。因此如果用户在CLI中粘贴这些注释语句,那么将会由错误信息。他们只能放在脚本中通过 hive -f scnpt_name的方式执行

猜你喜欢

转载自blog.csdn.net/weixin_42325841/article/details/81482810