apache-hive-1.2.1-bin.tar
链接:https://pan.baidu.com/s/19koILx8FCa2D65vbK5lIaw
提取码:1kqz
mysql-connector-java-5.1.40.tar
链接:https://pan.baidu.com/s/14OJIHXJoylvMj9M8Axcomw
提取码:ddtc
一、安装hive
由于电脑进行重装系统,导致原有的虚拟机缺少,所以虚拟机是由其他同学提供帮助的,后续将采用这样的名字进行
1.在linux命令终端输入 sudo mount -t vboxsf share /mnt/bdshare 完成挂载,进入bdshare文件夹可见文件夹挂载成功

2.输入 sudo tar -zxvf apache-hive-1.2.1-bin.tar.gz -C /usr/local 对apache-hive进行解压并移至/usr/local目录,进入/usr/local目录可见文件解压移动成功

3.输入sudo mv apache-hive-1.2.1-bin hive 将文件名改为hive,如下所示

4.输入sudo chown -R hadoop:hadoop hive 修改文件夹权限

5.环境变量配置
gedit或者vim bashrc文件,本例使用gedit,输入gedit ~/.bashrc打开配置文件编辑
加入以下两条信息,保存并退出
export HIVE_HOME=/usr/local/hive
export PATH=$PATH:$HIVE_HOME/bin

6.输入source ~/.bashrc使配置立刻生效


7.修改配置文件
进入/usr/local/hive/conf文件夹,输入cp hive-default.xml.template hive-default.xml复制文件并重命名

8.新建一个hive-site.xml文件,内容如下:
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://localhost:3306/hive?createDatabaseIfNotExist=true</value>
<description>JDBC connect string for a JDBC metastore</description>
</property>
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.jdbc.Driver</value>
<description>Driver class name for a JDBC metastore</description>
</property>
<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>hive</value>
<description>username to use against metastore database</description>
</property>
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>hive</value>
<description>password to use against metastore database</description>
</property>
</configuration>c
启动hive
启动hive之前,先启动hadoop集群
start-all.sh
但是此部分报错了,然后回去修改xml配置
此时进入/usr/local/hive/conf里修改hive-site.xml,修改成如下(在原先基础上添加&useUnicode=true&characterEncoding=UTF-8&useSSL=false)

最后再来一遍操作:

start-all.sh
hive

成功~~
9.mysql配置
输入netstat -tap | grep mysql 查看mysql是否配置,如图进程,已配置

退出hive:

10.进入共享文件夹对mysql-connector进行解压
tar -zxvf mysql-connector-java-5.1.40.tar.gz
输入cp mysql-connector-java-5.1.40/mysql-connector-java-5.1.40-bin.jar /usr/local/hive/lib将文件复制到/usr/local/hive/lib下

11.启动并登录mysql shell
service mysql start
mysql -u root -p

12.新建hive数据库
create database hive;

13.配置mysql允许hive接入
grant all on *.* to hive@localhost identified by 'hive' ;
flush privileges;

二、Hive操作
- hive创建与查看数据库
![]()
- mysql查看hive元数据表DBS
- hive创建与查看表
![]()
- mysql查看hive元数据表TBLS
![]()
- hdfs查看表文件位置
![]()
- hive删除表
![]()
- mysql查看hive元数据表TBLS
![]()
- hive删除数据库
![]()
- mysql查看hive元数据表DBS
hdfs查看表文件夹变化
输入hdfs dfs -ls /user/hive/warehouse显示为空
三、hive进行词频统计 准备txt文件
第一次做的版本:(不太懂的时候做的)
准备一个文本文件f1.txt,放置在wc目录,f1.txt内容如下:

启动hadoop,启动hive
输入start-all.sh启动hadoop,输入hive启动hive
创建并查看文本表 create table
输入create table wc(line string);创建表wc,此时表因无指定数据库,默认放在default数据库下。

导入文件的数据到文本表中 load data local inpath
(1)输入load data local inpath '/home/hadoop/wc/f1.txt' into table wc;

(2)输入 select * from wc;查看

5.分割文本 split
输入select split(line,'') from wc;分割文本查看

6.行转列explode
输入select explode(split(line,'')) from wc;或select explode(split(line,'')) as word from wc;查看

7.统计词频group by
输入select word,count(1) as count from (select explode(split(line,''))as word from wc)w group by word order by word;

第二版本:
0、 为什么要使用Hive?
因为方便且简洁
1、准备txt文件
2、启动hadoop,启动hive
3、创建并查看文本表 create table (由于把放f2.txt和f3.txt都放进去了。所以接下来显示的内容是f2,和f3的)

4、导入文件的数据到文本表中 load data local inpath

5、分割文本 split

6、行转列explode

7、统计词频group by







浙公网安备 33010602011771号