Hive本地安装教程

hive三种安装模式:

  • 嵌入模式:使用内嵌的Derby数据库存储元数据,元数据不能共享,是hive默认安装方式,但是一次只能连接一个客户端,适合用于测试,不适合生产环境。
  • 本地模式:采用外部数据库存储元数据,该模式不需要单独开启metastore服务,因为本地模式使用的是和hive在同一个进程的Metastore服务。
  • 远程模式:采用外部数据库存储元数据,该模式需要单独开启metastore服务,然后每个客户端都在配置文件中配置连接该Metastore服务。远程模式中,Metastore服务和hive运行在不同的进程中。


本地和远程模式:本质上都是将hive默认的元数据存储介质由自带的Derby数据库替换为MySQL数据库,这样无论在任何目录下以任何方式启动hive,只要连接的是同一天hive服务,那么所有节点访问的元数据信息是一致的,从而实现元数据的共享。

Hive安装之嵌入安装:

  • 下载Hivea安装包
  • 输入命令:bin/hive就进入到hive中了

Hive本地安装

1.安装mysql服务

下载安装mysql
在这里插入图片描述
启动mysql服务
在这里插入图片描述
下载安装mariadb
在这里插入图片描述
启动mariadb服务;
永久启动mariadb服务;
登录mysql服务;
使用mysql;
设置密码;
授予root权限,可以用于远程登录;
退出mysql;
使用密码登录mysql;
在这里插入图片描述

2.安装hive

导入hive压缩包(也可以使用rz来上传)
在这里插入图片描述
解压到servers
在这里插入图片描述
为刚解压的文件改一个简单的名字hive
在这里插入图片描述
进入hive;
找到conf目录;
可以看到没有hive-env.sh,所以用临时文件复制一份
在这里插入图片描述
打开配置文件
在这里插入图片描述
修改配置文件
在这里插入图片描述
新建一个hive-site.xml文件
在这里插入图片描述
添加如下内容
在这里插入图片描述

<configuration>
    <property>
          <name>javax.jdo.option.ConnectionURL</name>
          <value>jdbc:mysql://localhost:3306/hive?createDatabaseIfNotExist=true</value>
    </property>
    <property>
          <name>javax.jdo.option.ConnectionDriverName</name>
          <value>com.mysql.jdbc.Driver</value>
    </property>
     <property>
          <name>javax.jdo.option.ConnectionUserName</name>
          <value>root</value>
    </property>
     <property>
          <name>javax.jdo.option.ConnectionPassword</name>
          <value>123456</value>
    </property>
</configuration>

hive-site.xml文件中用到了一个数据库驱动文件,所以下面,我们要导入到hive/lib中(也可以用rz,前提是需要首先yum一个包)
在这里插入图片描述
将hadoop01中的hive配置复制到hadoop02 和hadoop03中
在这里插入图片描述
在这里插入图片描述

3.Hive的管理:

首先需要先开启集群
在这里插入图片描述
在这里插入图片描述
开启hive
在这里插入图片描述
开启hive成功会出现如下进程
在这里插入图片描述
在hadoop02中进入beeline(也可以在其他节点操作)
在这里插入图片描述
连接hadoop01
回车后,输入用户名和密码,可以看到连接成功(成功进入)
在这里插入图片描述
接下来的操作就和mysql语句差不多,查看数据库
在这里插入图片描述
开启hive后,用sqlyog连接hadoop01的mysql数据库,刷新后会看到,出现一个hive数据库,里面存放的都是元数据表格。
在这里插入图片描述
创建数据库
在这里插入图片描述
切换数据库,查看表格
在这里插入图片描述

4.Hive内部表操作

在这里插入图片描述
在这里插入图片描述
创建内部表,第二行为使用逗号为分隔符,导入到表格中
在这里插入图片描述
可以看到表格创建成功,但是没有数据
在这里插入图片描述
将数据放入到itcast数据库中的t_user表格中
在这里插入图片描述
再查询表格,就有数据了
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
删除数据,下面看第二种方法导入数据
在这里插入图片描述
在这里插入图片描述
使用load data local inpath,指定数据所在的位置,进而加载数据到指定表格中
在这里插入图片描述
查看数据的总数,我们可以看到这里用到了map和reduce。把没一行数据为一个key,value为1,reduce再加和,进而统计。
在这里插入图片描述
hive中的DBS表放数据库的路径
在这里插入图片描述
这里放的是我们创建的表格
在这里插入图片描述

5.hive外部表操作

首先新建一些数据
在这里插入图片描述
把数据放到分布式文件系统中的/stu下
在这里插入图片描述
创建一个外部表,加了关键词external,同样使用逗号为分隔符,文件来自于本地的文件系统下的根目录下的stu下的数据。
在这里插入图片描述
我们每执行一个命令,这里就会显示一条,最后可以用ctrl+c退出
在这里插入图片描述
这里也可以用ctrl+c退出
在这里插入图片描述
思考:如何选择使用内部表或外部表?
  如果所有处理都有hive来完成,则使用内部表;
  如果需要用hive和外部其他工具处理同一组数据集,则使用外部表;
  数据比较大时候用外部表。

发布了72 篇原创文章 · 获赞 3 · 访问量 3527

猜你喜欢

转载自blog.csdn.net/id__39/article/details/105628118