hive数据库的讲解、安装及简单命令的操作

本文介绍了Hive数据库,它是对Hdfs和MapReduce的封装,可存储海量数据。详细说明了Hive数据库的安装步骤,包括依赖的mysql、上传解压jar包、配置环境变量等,还提及了安装中可能遇到的问题及解决办法。此外,讲解了Hive的简单操作命令、四大表、元数据存放位置等内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

走进hive数据库(数据仓库工具)

hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供简单的sql查询功能,
可以将sql语句转换为MapReduce任务进行运行,优点是学习成本低,可以通过类sql语句快速实现简单的MapReduce统计,
不必开发专门的MapReduce应用,十分适合数据仓库的统计分析;

注意:Hive其实就是对Hdfs和MapReduce的封装,能够储存海量的数据,传统的数据库无法存储海量的数据

hive数据库的安装

安装之前首先要有mysql;

  1. 上传jar包 借用别人的包
    链接:https://pan.baidu.com/s/1c70FsQ9rO3dj_H23mVmUlw 密码:9umr
  2. 解压jar包
    tar -zxvf hive-1.2.1.tar.gz
  3. 配置hive的环境变量
    vi /etc/profile 配置自己的目录
    在这里插入图片描述
  4. 首先切换到自己解压的目录
    cd /opt/software/hive-1.2.1/conf
  5. 复制两个文件
    cp hive-default.xml.template hive-size.xml
    cp hive-env.sh.template hive-env.sh
  6. 编辑hive-env.sh的文件 Hadoop改成绝对路径
    在这里插入图片描述
  7. 编辑hive-size,xml的文件
    在这里插入图片描述
    光标移动位置输入命令 .,$-1d 删除下面所有的数据
    复制以下配置
javax.jdo.option.ConnectionURL jdbc:mysql://localhost:3306/hive?createDatabaseIfNotExist=true JDBC connect string for a JDBC metastore
<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>root</value>
<description>username to use against metastore database</description>
</property>

<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>root</value>
<description>password to use against metastore database</description>
</property>
</configuration>
  1. 安装hive和mysql完成后,将mysql的连接jar包拷贝到$HIVE_HOME/lib目录下

在这里插入图片描述9. 如果出现没有权限的问题,在mysql授权(在安装mysql的机器上执行)
mysql
10. 设置密码
set password=password('root');
11. #(执行下面的语句 .:所有库下的所有表 %:任何IP地址或主机都可以连接)
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;
FLUSH PRIVILEGES;
12. 通过mysql -uroot -proot看看是否能连接上
13. Jline包版本不一致的问题,需要拷贝hive的lib目录中jline.2.12.jar的jar包替换掉hadoop中的
cp hive/lib/jline-2.12.jar /opt/software/hadoop-2.6.4/share/hadoop/yarn/lib/
装hive和mysq完成后,将mysql的连接jar包拷贝到$HIVE_HOME/lib目录下
14. 启动hive
bin/hive
注意:启动之前先启动hadoop集群,hive依赖于hadoopHdfs

Hive的简单操作命令

  • 从本地往表中导入数据
    load data local inpath '/root/tes.txt' into table test.usr;

  • 从hdfs集群中导入数据
    load data inpath 'hdfs://node01:9000/user/tes.txt' into table test.te;注意这里只能是主机名
    Hive的生命周期

    解析 找出sql语句中的关键字
    
    1. 优化 将语句中DDL进行优化,形成数
    2. 编译 对DDL语句重新编译,形成相应的逻辑计划
    3. 执行 将逻辑计划转化为物理计划MapReduce 执行

    Hive数据库的四大表
    内部表 create table 表名(字段) 删除表时,元数据与数据都会删除
    外部表 create external table 表明(字段) 删除表时,元数据会被删除,源数据不会被删除
    分区表 这两个表明天详讲
    分桶表
    Hive元数据的存放位置

  • derby hive内部的数据库 不能多个用户同时访问

  • 本地存储

  • 存放在外部的数据库

hive表的分隔符
ROW FORMAT DELIMITED : 行格式分隔
FIELDS TERMINATED BY ’,’ : 字段之间使用空格分隔
COLLECTION ITEMS TERMINATED BY ‘,’ : 集合(就是这的数据)使用逗号分隔
MAP KEYS TERMINATED BY ‘:’ : 键值对使用冒号分隔
LINES TERMINATED BY ‘\t’ : 记录之间使用换行符分隔
hive表的小命令

describe [extended|formatted] 表名    查看表的总信息
create table 表名 like 旧表名   结构一样没有数据
create table 表名 select * from 复制的表名    结构一样和数据也统一
create database 数据库名  创建数据库
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值