Hive内部是什么
Hive二进制分支版本核心包含3个部分。主要部分是Java代码本身。在$HIVE_HOME/lib 目录下发现有众多的jar包文件。
所有的Hive客户端都需要一个metastoreservice(元数据服务),Hive使用这个服务来存储表模式信息和其他元数据信息。通常情况下会使用一个关系型数据库中的表来存储这些信息。默认情况下,Hive会使用内置的Derby sql服务器, 我这里使用的是MySQL
最后,Hive还提供了一个简单的网页界面,也就是Hive网页界面,提供了远程访问的Hive服务
conf目录下存放了配置Hive的配置文件。Hive具有非常多的配置属性,根据需要后面我们会进行介绍。
启动Hive
在bin目录下 运行
./hive
字符串hive>是Hive的提示符:
使用JDBC连接元数据
Hive所需要的组件中只有一个外部组件是Hadoop没有的,那就是metastore(元数据存储)组件。元数据存储中存储了如表的模式和分区信息等元数据信息。
简介
什么是Hive
Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供类SQL查询功能。
为什么使用Hive
-
直接使用Hadoop所面临的问题
– 学习成本高
– 一般项目周期要求短
– MapReduce实现复杂的查询呢逻辑开发难度较大 -
为什么要使用Hive
– 操作接口采用类SQL语法,可以快速开发
– 避免编写MR,减少学习成本
– 扩展功能很方便
Hive的特点
- 可扩展: Hive可以自由的扩展集群规模,一般情况下不需要重启服务
- 延展性: Hive支持用户自定义函数,用户可以根据自己的需求来实现自己的函数
- 容错: 良好的容错性,节点出现问题SQL仍然可以完成执行