Hive介绍, 快速入门

Hive是什么

Hive是Hadoop生态系统中一个重要的框架.

Hive是建立在HDFS储存系统之上的数据查询, 统计, 分析框架, 对应的大数据生态中的分析模块, 而非储存模块.

Hive是一个数据仓库工具,  通过类SQL => HQL 查询语句, 管理已经存在HDFS上的大型数据集.

Hive可以根据已经储存的数据, 建立表结构, 指定映射关系, 用户可以使用一个命令行工具和JDBC驱动方式连接Hive.

能做什么

统计, 查询, 分析储存在HDFS上的海量数据.

不能做什么

Hive不是一个关系型数据库, 不能进行 OLTP(online transaction processing) 在线事务处理 

不支持实时查询 以及 行级更新(由于HDFS只支持追加写, 不支持随机写)

特点

仅储存schema(metadata)在关系型数据库中, 真正的数据存在HDFS上

支持OLAP(online analysis processing)

支持类SQL查询语言 => HQL

通用, 快速(对于海量数据), 可扩展

缺点

(1) hive的hql表达能力有限

    ①迭代式算法无法表达

    ②数据挖掘方面不擅长

(2) Hive的效率比较低

    ①hive自动生成的mapreduce程序, 通常情况下不够智能(慢)

    ②调优困难, 粒度较粗

快速搭建


(1) 安装地址 http://hive.apache.org/

(2) 部署

    ① 把apache-hive-1.2.1-bin.tar.gz上传到linux的/opt/software目录下

    ② 解压apache-hive-1.2.1-bin.tar.gz到/opt/module/目录下面

$ tar -zxvf apache-hive-1.2.1-bin.tar.gz -C /opt/module/

    ③ 修改apache-hive-1.2.1-bin.tar.gz的名称为hive

$ mv apache-hive-1.2.1-bin/ hive

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

$ mv hive-env.sh.template hive-env.sh

    ⑤ 配置hive-env.sh文件

        配置HADOOP_HOME路径和HIVE_CONF_DIR路径

$ export HADOOP_HOME=/opt/module/hadoop-2.7.2

$ export HIVE_CONF_DIR=/opt/module/hive/conf

    ⑥ Hadoop集群配置

        必须启动hdfs和yarn

$ sbin/start-dfs.sh

$ sbin/start-yarn.sh

        在HDFS上创建/tmp和/user/hive/warehouse两个目录并修改他们的同组权限可写

$ bin/hadoop fs -mkdir /tmp

$ bin/hadoop fs -mkdir -p /user/hive/warehouse

$ bin/hadoop fs -chmod g+w /tmp

$ bin/hadoop fs -chmod g+w /user/hive/warehouse

快速使用

(1)启动hive

$bin/hive

(2)查看数据库

hive> show databases;

(3)打开默认数据库

hive> use default;

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

hive> show tables;

(5)创建一张表

hive> create tablestudent(id int, name string);

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

hive> show tables;

(7)查看表的结构

hive> desc student;

(8)向表中插入数据

hive> insert into studentvalues(1000,"ss");

(9)查询表中数据

hive> select * from student;

(10)退出hive

hive> quit;

你可能感兴趣的:(Hive介绍, 快速入门)