第一章——hive入门教程之hello world
1. Hive简介
hive
是基于Hadoop
的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供简单的sql
查询功能,可以将sql
语句转换为MapReduce
任务进行运行。 其优点是学习成本低,可以通过类SQL
语句快速实现简单的MapReduce
统计,不必开发专门的MapReduce
应用,十分适合数据仓库的统计分析。
2. Hive的安装
安装hive
前请确保已经安装好hadoop
集群,通常使用mysql
作为hive
的元数据库,所以需要安装mysql
。
我的hadoop
集群是用3台虚拟机搭建的,分别是:
master1.hadoop
slave2.hadoop
slave3.hadoop
hive
只需要在hadoop
集群的一台节点上面安装即可。安装步骤通常有以下几步:
1 下载hive
到本地
我的hadoop
版本是2.7.2
的,这里选择了hive 2.x
版本。国内阿里的镜像速度比较快,可以选择这个版本(我用的版本是hive-2.1.0
),地址,下载到本地后并解压。
2 复制hive-site.xml
- 进入
hive-2.1.0\conf
目录 - 修改
hive-default.xml.template
为hive-site.xml
,这个文件是hive
的核心配置文件; - 修改
hive-env.sh.template
为hive-env.sh
; - 修改
hive-log4j2.properties.template
为hive-log4j2.properties
; - 修改
hive-exec-log4j2.properties.template
为hive-exec-log4j2.properties
;
3 配置hive-site.xml
1). 修改javax.jdo.option.ConnectionURL
为你自己的mysql
连接,可以在本节点安装mysql
,也可以访问其它可访问的mysql
;
注意:这里在master1.hadoop
上面安装了一个mysql
,你可以使用你的本地mysql
,只需把主机ip
信息换一下即可。
2). 修改javax.jdo.option.ConnectionDriverName
为mysql
的连接驱动
3). 修改javax.jdo.option.ConnectionUserName
为mysql
的用户名root
4). 修改javax.jdo.option.ConnectionPassword
为mysql
的密码:root
5). 修改hive.exec.local.scratchdir
为指定临时路径
6). 修改hive.downloaded.resources.dir
为指定临时路径
7). 修改hive.querylog.location
为指定临时路径
8). 修改hive.server2.logging.operation.log.location
为指定临时路径
4 配置hive-env.sh
编辑文件vim hive-env.sh
,主要配置以下几个值:
5 启动hive
1). 保证有执行权限
2). 添加环境变量(root
用户下)
打开/etc/profile
,添加如下内容
3). 创建hdfs
文件夹
- 启动
hdfs
; - 在
hdfs
系统中,创建/tmp
和/user/hive/warehouse
两个文件夹
-
递归创建
hdfs
目录用-p
参数。
4). 初始化hive
运行命令:schematool -dbType mysql -initSchema
查看mysql
,发现hive
库和表都已建好
5). 如果前面步骤配置的没有问题,命令行输入hive
命令即可。
hive> show databases;
OK
default
Time taken: 2.184 seconds, Fetched: 1 row(s)
作者:柯广的网络日志
微信公众号:Java大数据与数据仓库