0
点赞
收藏
分享

微信扫一扫

Hive 入门

君心浅语 2022-09-15 阅读 105


Hive概述

什么是 Hive

hive    英[haɪv] 美[haɪv]
n. 蜂房; 蜂箱; 一箱蜜蜂; 蜂群; 忙碌的场所; 繁忙的地方;

Hive 是基于 Hadoop 的一个数据仓库工具,可以将结构化的数据文件映射为一张表,并提供类 SQL 查询功能。


本质是:将 HQL 转化成MapReduce 程序

1)Hive处理的数据存储在HDFS

2)Hive分析数据底层的实现是MapReduce

3)执行程序运行在YARN上

应用场景 :由 Facebook 开源用于解决海量结构化日志的数据统计。

Hive 入门_hadoop

Hive 的特点

》》 优点

  • (1)操作接口采用类 SQL 语法,提供快速开发的能力(简单、容易上手)。
  • (2)避免了去写 MapReduce,减少开发人员的学习成本。
  • (3)Hive 的执行延迟比较高,因此Hive 常用于数据分析,对实时性要求不高的场合。
  • (4)Hive 优势在于处理大数据,对于处理小数据没有优势,因为Hive 的执行延迟比较高。
  • (5)Hive 支持用户自定义函数,用户可以根据自己的需求来实现自己的函数。

》》 缺点

  • (1)Hive 的 HQL 表达能力有限
    迭代式算法无法表达
    数据挖掘方面不擅长
  • (2)Hive 的效率比较低
    Hive 自动生成的 MapReduce 作业,通常情况下不够智能化
    Hive 调优比较困难,粒度较粗

Hive下载

Hive 下载地址
1.Hive 官网地址

http://hive.apache.org/

2.文档查看地址

https://cwiki.apache.org/confluence/display/Hive/GettingStarted

3.下载地址

http://archive.apache.org/dist/hive/

Hive 安装部署

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/目录下面

[dev1@hadoop102 software]$ tar -zxvf apache-hive-1.2.1-bin.tar.gz -C /opt/module/

(3)修改 apache-hive-1.2.1-bin.tar.gz 的名称为 hive

[dev1@hadoop102 module]$ mv apache-hive-1.2.1-bin/ hive

(4)修改/opt/module/hive/conf 目录下的 hive-env.sh.template 名称为 hive-env.sh

[dev1@hadoop102 conf]$ mv hive-env.sh.template hive-env.sh

(5)配置hive-env.sh 文件

(a)配置HADOOP_HOME 路径

export HADOOP_HOME=/opt/module/hadoop-2.7.2

(b)配置HIVE_CONF_DIR 路径

export HIVE_CONF_DIR=/opt/module/hive/conf

2.Hadoop 集群配置

(1)必须启动hdfs 和 yarn
在hadoop102上

start-dfs.sh 

在hadoop103上

start-yarn.sh

(2)在 HDFS 上创建/tmp 和/user/hive/warehouse 两个目录并修改他们的同组权限可写
(可不操作,系统会自动创建)

hadoop fs -mkdir /tmp 
hadoop fs -mkdir -p /user/hive/warehouse
hadoop fs -chmod g+w /tmp
hadoop fs -chmod g+w /user/hive/warehouse

将hadoop fs 换成 hdfs dfs也可以

3.Hive 基本操作

(1)启动hive

[dev1@hadoop102 hive]$ bin/hive

(2)查看数据库

hive> show databases;

(3)打开默认数据库

hive> use default;

(4)显示default 数据库中的表

hive> show tables;

(5)创建一张表

hive> create table student(id int, name string);

(6)显示数据库中有几张表

hive> show tables;

(7)查看表的结构

hive> desc student;

(8)向表中插入数据

hive> insert into student values(1000,"ss");

(9)查询表中数据

hive> select * from student;

(10)退出 hive

hive> quit;


举报

相关推荐

0 条评论