Hive初体验

2020-10-10 10:14:28 浏览数 (1)

@

目录

  • 什么是Hive
  • Hive的特点
  • Hive和数据库比较
  • 数据存储位置
  • 数据更新
  • Hive安装
  • Hive安装部署
    • 1.Hive安装及配置
    • 集群配置
  • Hive基本操作

什么是Hive

Hive:由Facebook开源用于解决海量结构化日志的数据统计。 Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张表,并提供类SQL查询功能。 本质是:将HQL转化成MapReduce程序

1)Hive处理的数据存储在HDFS 2)Hive分析数据底层的实现是MapReduce 3)执行程序运行在Yarn上 4)Hive只能分析结构化的数据!Hive在Hadoop之上,使用hive的前提是先要安装Hadoop

Hive的特点

  • ①Hive并不是一个关系型数据库
  • ②不是基于OLTP(在线事务处理)设计 OLTP设计的软件: 侧重点在事务的处理,和在线访问。一般RDMS都是基于OLTP设计
  • ③Hive无法做到实时查询,不支持行级别更新(update,delete)
  • ④Hive要分析的数据存储在HDFS,hive为数据创建的表结构(schema),存储在RDMS
  • ⑤Hive基于OLAP(在线分析处理)设计 OLAP设计的软件: 侧重点在数据的分析上,不追求分析的效率!
  • ⑥Hive使用类SQL,称为HQL对数据进行分析
  • ⑦Hive容易使用,可扩展,有弹性

Hive和数据库比较

由于 Hive 采用了类似SQL 的查询语言 HQL(Hive Query Language),因此很容易将 Hive 理解为数据库。其实从结构上来看,Hive 和数据库除了拥有类似的查询语言,再无类似之处。本文将从多个方面来阐述 Hive 和数据库的差异。数据库可以用在 Online 的应用中,但是Hive 是为数据仓库而设计的,清楚这一点,有助于从应用角度理解 Hive 的特性。

数据存储位置

Hive 是建立在 Hadoop 之上的,所有 Hive 的数据都是存储在 HDFS 中的。而数据库则可以将数据保存在块设备或者本地文件系统中。

数据更新

由于Hive是针对数据仓库应用设计的,而数据仓库的内容是读多写少的。因此,Hive中不建议对数据的改写,所有的数据都是在加载的时候确定好的。而数据库中的数据通常是需要经常进行修改的,因此可以使用 INSERT INTO … VALUES 添加数据,使用 UPDATE … SET修改数据。

Hive安装

Hive下载地址:http://archive.apache.org/dist/hive/

Hive安装部署

①保证有JAVA_HOME,HADOOP_HOME ②将bin配置到PATH中,在环境变量中提供HIVE_HOME

1.Hive安装及配置

(1)把apache-hive-1.2.1-bin.tar.gz上传到linux的/opt/software目录下 (2)解压apache-hive-1.2.1-bin.tar.gz到/opt/module/目录下面

代码语言:javascript复制
tar -zxvf apache-hive-1.2.1-bin.tar.gz -C /opt/module/

然后在/etc/profile文件里配置hive的bin目录。

集群配置

必须启动hdfs和yarn

代码语言:javascript复制
start-dfs.sh
start-yarn.sh #若不启动yarn则无法完成建表操作。因为本质上会把sql语句转换成mr程序。

Hive基本操作

由于配置了环境变量,可以直接在任意路径下输入hive命令,启动hive

代码语言:javascript复制
hive

查看(选择)数据库、查看(选择、建)表、插入数据等,与MySQL的语法一致

代码语言:javascript复制
show dababases; #有一个default数据库

0 人点赞