Hive 基础及安装
为什么选择 Hive?
- 基于Hadoop的大数据的计算/扩展能力
- 支持SQL like查询语言
- 统一的元数据管理
- 简单编程
Hive 是一种客户端工具,无所谓伪分布式/分布式;
对于开发人员,直接使用Java APIs可能是乏味或容易出错的,同时也限制了Java程序员在Hadoop上编程的运用灵活性。于是Hadoop提供了两个解决方案(Pig & Hive),使得Hadoop编程变得更加容易。
Hive在Hadoop中扮演数据仓库的角色。Hive添加数据的结构在HDFS(hive superimposes structure on data in HDFS),并允许使用类似于SQL语法进行数据查询。与Pig一样,Hive的核心功能是可扩展的。
Hive 基础
(1)在hadoop生态圈中属于数据仓库的角色。他能够管理hadoop中的数据,同时可以查询hadoop中的数据。
a) 所谓 hadoop 中的数据,是指存储在 hdfs 文件系统上的数据,MapReduce用于数据处理
b) hive 的最大优势便在于其对数据管理和数据查询功能的支持;
(2)本质上讲,hive是一个SQL解析引擎。Hive可以把SQL查询转换为MapReduce中的job来运行。
(3)hive有一套映射工具,可以把SQL转换为MapReduce中的job,可以把SQL中的表、字段转换为HDFS中的文件(夹)以及文件中的列。这套映射工具称之为metastore,一般存放在derby、mysql中。
- a) 表 ⇒ 文件(文件夹)
- b) 字段 ⇒ 文件中的列
Hive 的系统架构
上图可知:
(1)是一个二层的分层结构:Hive 是建立在 Hadoop 上的数据仓库基础架构;
(2)Hive 提供了三个用户接口:
- a) CLI:command line interface,命令行接口,
- b) JOBC/ODBC:
- c) WebGUI:web 接口
(3)不同的接口在连接在(编译器、优化器、执行器)构成的驱动上,通过driver驱动,将三个接口得到的SQL语句转换为hadoop的mapreduce 执行,也即对hdfs 的操纵;
(4)驱动的转换工作需要 metastore 的参与,metastore是hive的转换工具嘛;
安装
(1)下载、解压缩、配置环境变量
(2) 修改配置文件
(1)重命名文件
mv hive-default.xml.default hive-site.xml
mv hive-env.sh.template hive-env.sh
(2)修改 hadoop 的hadoop-env.sh(否则启动hive会报找不到类的错误)
export HADOOP_CLASSPATH=.:$CLASSPATH:$HADOOP_CLASSPATH:$HADOOP_HOME/bin
(3)修改$HIVE_HOME/bin的 hive-config.sh,增加以下三行
export JAVA_HOME=/usr/local/jdk
export HIVE_HOME=/usr/local/hive
export HADOOP_HOME=/usr/local/hadoop
References
[1] 《Hadoop实战》的笔记-说明一下Pig与Hive
Hive 基础及安装相关推荐
- Hive基础(安装)
Hive基础 一.什么是Hive 1.Hive特点 二.Hive的安装 1.检查hadoop环境 (1)查看Hadoop版本 (2)启动进程 2.安装MySQL (1)安装MySQL (2)查看账号密 ...
- Hive 基础-进阶
HIVE基础 1,安装:基于hadoop之上,先安装hadoop,安装在另外一篇博客有详细讲到. 2,hive的管理:cli方式,web界面方式 cli方式:直接输入#hive --service c ...
- Hive环境的安装部署(完美安装)(集群内或集群外都适用)(含卸载自带mysql安装指定版本)...
Hive环境的安装部署(完美安装)(集群内或集群外都适用)(含卸载自带mysql安装指定版本) Hive 安装依赖 Hadoop 的集群,它是运行在 Hadoop 的基础上. 所以在安装 Hive 之 ...
- HiveQL学习笔记(二):Hive基础语法与常用函数
本系列是本人对Hive的学习进行一个整理,主要包括以下内容: 1.HiveQL学习笔记(一):Hive安装及Hadoop,Hive原理简介 2.HiveQL学习笔记(二):Hive基础语法与常用函数 ...
- Hive远程模式安装(1.00)
为什么80%的码农都做不了架构师?>>> hiveserver2和metastore分离部署,元数据存储采用mysql,mysql与metastore分离部署. mysql: ...
- linux hive创建数据库失败,Hive本地模式安装及遇到的问题和解决方案
Apache Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供简单的SQL查询功能,可以将SQL语句转换为MapReduce任务进行运行. 其优点是学习成 ...
- Hadoop3 Hive Spark完整安装与实践
大数据实践 Hadoop3 Hive Spark完全安装 在下载目录下打开终端,移动下载好的文件到/usr/local sudo mv 文件名 /usr/local 在/usr/local中解压文件 ...
- 移动开发—Less基础与安装
移动开发-Less基础与安装 一.维护CSS的弊端 CSS是一门非程序式语言.没有变量.函数.SCOPE(作用域)等概念 CSS需要书写大量看似没有逻辑的代码.CSS的冗余度是比较高的 不方便维护扩展 ...
- Hive基础08、Hive引入Struct结构体
Hive基础08.Hive引入Struct结构体 1.建表语句 创建一个温良贤淑女子的表 英文关键字解析: 1.CREATE TABLE 创建一个指定名字的表,如果库中已有相同名的表,则抛出异常: 用 ...
最新文章
- 基于Mozilla Thunderbird的扩展开发(四)---修改Thunderbird源代码实现自动保存附件...
- php strncmp函数用法,strncmp函数用法详解
- SAP Spartacus使用cxComponentWrapper测试MiniCart
- [JavaWeb-HTML]HTML标签_语义化标签
- [剑指offer]面试题8:旋转数组的最小数字
- python3 csv读写_python3 csv
- wpsOffice文件在线预览-java接入
- 启用IIS服务(运行中输入inetmgr打不开IIS管理器的解决办法)
- 学习如何搭建SpringBoot框架
- 华东理工大学本科毕业论文答辩和论文选题PPT模板
- Spring AOP配置 之 @Aspect
- Mysql数据库管理
- 破解Photoshop cs6
- iOS自动化-iOS录屏xrecord及解决iPhone设备不显示的问题
- java 实现回收站功能,回收站功能在 Linux 中的实现
- 简易的单点登录系统代码实现
- MATLAB第一节课基本操作与矩阵输入
- Python编写无界面版打字练习程序
- 华为鸿蒙系统推广,未雨绸缪!为更好推广鸿蒙自研系统,华为已提前做了三大准备!...
- Mockito 之 verify 使用方法
热门文章
- eureka默认端口号是多少_从eureka报错中得知的默认配置
- sql判断时间大于0点_Java秒杀系统实战系列-数据库级别Sql的优化与代码的调整
- 剑指offer面试题06. 从尾到头打印链表(辅助栈法)
- LeetCode 152. 乘积最大子序列(动态规划)
- 【OpenCV人脸识别2】从视频中检测人脸
- STM32 C++编程 004 Adc (数模转换)类
- [Hadoop大数据]——Hive数据的导入导出
- 4.你认为一些军事方面的软件系统采用什么样的开发模型比较合适?
- 搜索总结c++ 内存泄露问题
- round()和trunc()函数的应用