变聪明的CONY

导航

 

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,修改成如下(在原先基础上添加&amp;useUnicode=true&amp;characterEncoding=UTF-8&amp;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操作

  1. hive创建与查看数据库
  2. mysql查看hive元数据表DBS
  3. hive创建与查看表
  4. mysql查看hive元数据表TBLS
  5. hdfs查看表文件位置

  6. hive删除表
  7. mysql查看hive元数据表TBLS
  8. hive删除数据库
  9. mysql查看hive元数据表DBS 

    hdfs查看表文件夹变化

        输入hdfs dfs -ls /user/hive/warehouse显示为空

  10.  

    三、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

 

posted on 2021-12-09 17:08  变聪明的CONY  阅读(90)  评论(0)    收藏  举报