hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供完整的sql查询功能,可以将sql语句转换为MapReduce任务进行运行。 其优点是学习成本低,可以通过类SQL语句快速实现简单的MapReduce统计,不必开发专门的MapReduce应用,十分适合数据仓库的统计分析。
Hive最早由facebook开源,最初用于解决海量结构化的日志数据统计问题,是一个ETL工具,
Hive的一些应用场景如下:
日志分析
统计网站一个时间段内的pv、uv
多维度数据分析
大部分互联网公司使用Hive进行日志分析,包括百度、淘宝等
其他场景
海量结构化数据离线分析
低成本进行数据分析(不直接编写MR)
本篇,散仙来介绍下Hive的安装与部署,Hive并不是一个分布式的系统,所以它的安装相对来说,还是比较容易的,在Hive安装之前,确保你的hadoop环境已经成功搭建,并可以正常启动,散仙的配置版本是,hadoop1.2.0的版本,hive0.10的版本。
我们,先来总结下Hive的安装步骤:
序号 | 描述 | 1 | 安装配置MySQL数据库,(默认是derby) | 2 | 放一个mysql的JDBC连接的jar包,到hvie/lib里面 | 3 | 在hive-env.sh里面加入hadoop的目录路径(拷贝自带模板,重命名) | 4 | 在HDFS上创建Hive的主目录hive和临时文件存储目录tmp | 5 | 配置hive-site.xml,配置hive的一些相关信息(拷贝自带模板,重命名) | 6 | 启动Hive |
散仙重点要说的是,关于3,4,5的配置,mysql的安装其实很简单,在这里不再介绍,首先我们要拷贝hive-env.sh.template重命名为hive-env.sh并向其中,加入hadoop的目录路径截图如下:
其次,我们要在HDFS上创建,对应的hive的table的存放位置目录,截图如下:
接下来,我们需要最重要的东西了,hive-site.xml,重命名hive-default.xml.template为hive-site.xml,修改其中几项即可:
- <configuration>
- <property>
- <!-- MySQ的URL配置 -->
- <name>javax.jdo.option.ConnectionURL</name>
- <value>jdbc:mysql://localhost:3306/hive?createDatabaseIfNotExist=true</value>
- </property>
- <!-- 数据库的用户名配置-->
- <property>
- <name>javax.jdo.option.ConnectionUserName</name>
- <value>root</value>
- </property>
- <!-- 此处JDBC的驱动务必加上,对应的数据配置对应的驱动-->
- <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.ConnectionPassword</name>
- <value>root</value>
- </property>
- <!-- HDFS路径hive表的存放位置-->
- <property>
- <name>hive.metastore.warehouse.dir</name>
- <value>/root/hive</value>
- </property>
- <!--HDFS路径,用于存储不同 map/reduce 阶段的执行计划和这些阶段的中间输出结果。 -->
- <property>
- <name>hive.exec.scratchdir</name>
- <value>/root/tmp</value>
- </property>
- <property>
- <name>mapred.child.java.opts</name>
- <value>-Xmx4096m</value>
- </property>
- <!-- 日志的记录位置-->
- <property>
- <name>hive.querylog.location</name>
- <value>/root/hive-0.10.0/logs</value>
- </property>
- </configuration>
<configuration> <property> <!-- MySQ的URL配置 --> <name>javax.jdo.option.ConnectionURL</name> <value>jdbc:mysql://localhost:3306/hive?createDatabaseIfNotExist=true</value> </property> <!-- 数据库的用户名配置--> <property> <name>javax.jdo.option.ConnectionUserName</name> <value>root</value> </property> <!-- 此处JDBC的驱动务必加上,对应的数据配置对应的驱动--> <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.ConnectionPassword</name> <value>root</value> </property> <!-- HDFS路径hive表的存放位置--> <property> <name>hive.metastore.warehouse.dir</name> <value>/root/hive</value> </property> <!--HDFS路径,用于存储不同 map/reduce 阶段的执行计划和这些阶段的中间输出结果。 --> <property> <name>hive.exec.scratchdir</name> <value>/root/tmp</value> </property> <property> <name>mapred.child.java.opts</name> <value>-Xmx4096m</value> </property> <!-- 日志的记录位置--> <property> <name>hive.querylog.location</name> <value>/root/hive-0.10.0/logs</value> </property> </configuration>
至此,配置部分已经完毕,下面我们就可以启动hive,并尝试建表操作了,截图如下:
最后,退出的命令,使用exit即可。
相关推荐
1. **Hadoop数据仓库Hive**:Hive是由Facebook开发的一种基于Hadoop的数据仓库工具,它允许SQL熟悉的用户对存储在Hadoop分布式文件系统(HDFS)上的大规模数据进行分析。Hive将结构化的数据文件映射为数据库表,提供了...
在大数据处理领域,Hive是一个不可或缺的工具,它是一个基于Hadoop的数据仓库系统,用于处理和分析大规模数据集。Hive提供了SQL(HiveQL)接口,使得非Java背景的用户也能轻松地对存储在Hadoop分布式文件系统(HDFS...
Hive是一个基于Hadoop的数据仓库工具,提供了一个SQL-like的查询语言,用于处理大规模的结构化数据。Hive的主要特点是它可以处理大量的数据,并且提供了一个高效的查询机制。 2.数据仓库的概念 数据仓库是一种特殊...
《Hive:基于Hadoop的数据仓库深度解析》 Hive,作为大数据处理的重要工具,是建立在Hadoop文件系统上的数据仓库架构,旨在为大规模数据集提供数据分析和管理能力。其设计初衷是解决直接使用Hadoop MapReduce进行...
Hive是一个基于Hadoop的数据仓库平台。Apache Hive (TM) 数据仓库软件有助于读取 编写和管理驻留在分布式存储中的大型数据集 使用 SQL。它建立在 Apache Hadoop (TM) 之上,提供:通过 SQL 轻松访问数据的工具,...
通过Hadoop,可以处理海量的电影数据,而Hive则作为一个基于Hadoop的数据仓库工具,提供了一种结构化数据的查询和分析方式,简化了大数据处理的复杂性。参考链接提供了更详尽的搭建过程和技术细节。 【标签】:涉及...
【基于Hadoop豆瓣电影数据分析实验报告】 在大数据时代,对海量信息进行高效处理和分析是企业决策的关键。Hadoop作为一款强大的分布式计算框架,自2006年诞生以来,已经在多个领域展现了其卓越的数据处理能力。本...
Hive是一个建立在Hadoop之上的数据仓库工具,主要用于对存储在Hadoop文件系统中的大数据集进行数据整理、特殊查询和分析存储。通过Hive提供的SQL查询功能,可以将结构化的数据文件映射为一张数据库表,并提供简单的...
Hadoop是分布式计算框架,而Hive是基于Hadoop的数据仓库工具,用于数据 warehousing 和 SQL-like 查询。另一方面,Sqoop是一个专门用于在Hadoop和关系数据库之间传输数据的工具。 首先,我们来看Hadoop HA(High ...
此外,Hadoop生态系统还包括其他工具,如Hive用于数据仓库,Pig用于数据处理,HBase用于实时查询,以及Spark用于更快速的数据处理和分析,这些可能都在这个系统中有所应用。 【压缩包子文件的文件名称列表】:...
Hive是一种基于Hadoop的大数据仓库工具,可以将结构化的数据文件映射为一个表,并提供类SQL查询功能。Hive的优点是学习成本低,可以通过类SQL语句快速实现简单的MapReduce统计。延迟较高,使得Hive适合用于离线的...
### Hadoop数据仓库工具Hive介绍 #### 一、简介 **1.1 Hive是什么** Hive是一款构建在Hadoop之上的数据仓库工具,它利用HDFS(Hadoop Distributed File System)进行数据存储,并通过Hadoop MapReduce来执行数据...
Hive是基于Hadoop的数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供SQL查询功能。Hive将SQL语句转换为MapReduce任务执行,简化了在Hadoop上处理大数据的工作。在本项目中,Hive可能是用于数据的...
然后,本文详细介绍了Hadoop和Hive的工作原理,包括Hadoop的分布式架构、MapReduce算法和Hive的数据仓库工具。接着,本文介绍了基于Hadoop和Hive的数据查询优化设计与实现,涵盖了系统设计、数据查询优化和动态分区...
Hive 是一个基于 Hadoop 的数据仓库工具,它允许用户使用类似于 SQL 的查询语言(称为 HiveQL)来管理和分析存储在 Hadoop 分布式文件系统(HDFS)中的大规模数据集。Hive 提供了一种结构化的数据模型,使得非结构化...
Hive是一个基于Hadoop的数据仓库工具,提供了一种SQL-like的语言(HiveQL)来处理和分析大规模数据。Hive不存储数据,而是利用HDFS,依赖MapReduce进行数据处理。它简化了在Hadoop上进行数据仓库操作的复杂度,支持...
Hive是基于Hadoop的数据仓库工具,可对存储在HDFS上的文件中的数据集进行数据整理、特殊查询和分析处理,提供了类似于SQL语言的查询语言–HiveQL,可通过HQL语句实现简单的MR统计,Hive将HQL语句转换成MR任务进行...