hive的基本概念及部署
程序员文章站
2023-12-23 16:53:16
...
Hive简介
Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供类SQL查询功能。
其本质是将SQL转换为MapReduce的任务进行运算,底层由HDFS来提供数据的存储,说白了hive可以理解为一个将SQL转换为MapReduce的任务的工具,甚至更进一步可以说hive就是一个MapReduce的客户端
为什么使用Hive
- 直接使用hadoop所面临的问题
人员学习成本太高
项目周期要求太短
MapReduce实现复杂查询逻辑开发难度太大 - 为什么要使用Hive
操作接口采用类SQL语法,提供快速开发的能力。
避免了去写MapReduce,减少开发人员的学习成本。
功能扩展很方便。
Hive架构
基本组成:
用户接口:包括CLI、JDBC/ODBC、WebGUI。其中,CLI(command line interface)为shell命令行;JDBC/ODBC是Hive的JAVA实现,与传统数据库JDBC类似;WebGUI是通过浏览器访问Hive。
元数据存储:通常是存储在关系数据库如mysql/derby中。Hive 将元数据存储在数据库中。Hive 中的元数据包括表的名字,表的列和分区及其属性,表的属性(是否为外部表等),表的数据所在目录等。
解释器、编译器、优化器、执行器:完成HQL 查询语句从词法分析、语法分析、编译、优化以及查询计划的生成。生成的查询计划存储在HDFS 中,并在随后有MapReduce 调用执行。
hive部署
hive的元数据库这里采用mysql数据库。之前已经部署完成。
一、下载安装包
wget http://archive.cloudera.com/cdh5/cdh/5/hive-1.1.0-cdh5.7.0.tar.gz
二、解压到~/app
三、配置环境变量
四、拷贝mysql的驱动到lib下
5、配置hive-site.xml
推荐阅读
-
hive的基本概念及部署
-
具有负载均衡功能的MySQL服务器集群部署及实现
-
具有负载均衡功能的MySQL服务器集群部署及实现
-
Python+Pika+RabbitMQ环境部署及实现工作队列的实例教程
-
spring定时任务执行两次及tomcat部署缓慢问题的解决方法
-
Python+Pika+RabbitMQ环境部署及实现工作队列的实例教程
-
Springboot基于assembly的服务化打包方案及spring boot部署方式
-
Mysql数据库从5.6.28版本升到8.0.11版本部署项目时遇到的问题及解决方法
-
4种Windows系统下Laravel框架的开发环境安装及部署方法详解
-
Hive与Oracle之间利用Sqoop进行数据的导入导出时遇到的问题及解决方法