目录
2.1.1把 apache-hive-2.3.3-bin.tar.gz 上传到 linux 的/usr/software 目录下
2.1.2解压apache-hive-2.3.3-bin.tar.gz
2.1.4上传mysql-connector-java-5.1.49.jar
1Hive简介
1.1概述
hive是Facebook开源,用于解决海量结构化日志的数据统计工具。是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张表,并提供类SQL查询功能。
本质上是将HQL转化为MapReduce程序执行
之前的定义:Hive是由Facebook实现并开源,是基于Hadoop的一个数据仓库工具,底层依赖于HDFS存储数据,利用MapReduce进行计算,可以将结构化的数据映射为一张数据库表,并提供HQL。Hive的本质是将 SQL 语句转换为 MapReduce 任务运行。Hive提供了三种协议访问 Hive数据:Thrift RPC、JDBC、ODBC。
注意:以上是Hive之前的定义。如今随着大数据的发展Hive逐步舍弃了MR。Hive2.X版本已经建议不再使用MR,而在新出来的Hive3.X版本中,直接舍弃了使用MR作为底层运行机制,改为使用Tez。
后来由于Spark的出现,许多公司开始使用Spark代替MapReduce作为Hive的执行引擎,使Hive运行在Spark上。也就是Hive on Spark。
1.2优缺点
1.2.1优点:
可扩展性强,支持横向扩展。因为其底层依赖于HDFS存储数据,支持集群扩展。Hive可以自由的扩展集群的规模,一般情况下不需要重启服务。
延展性强。支持自定义函数。
良好的容错性。底层依赖于HDFS,有副本机制。
操作接口采用类SQL语法,简单易上手。
省去了写MapReduce,减少学习成本。
支持自定义函数
1.2.2缺点:
查询起来很慢。
不支持事务。主要用来做OLAP(联机分析处理),而不是OLTP(联机事务处理)。
之前版本的Hive不支持删改操作的,但是新出来的3.0版本是支持的。
迭代式算法无法表达
数据挖掘方面不擅长,由于MapReduce数据处理流程的限制,效率更高的算法无法实现。
hive自动生成的MapReduce不够智能化
hive调优比较困难,粒度较粗
1.3架构