Hadoop生态系统—数据仓库Hive的安装
一、数据仓库
数据仓库是一个面向主题的、集成的、随时间变化,但信息本身相对稳定的数据集合,相比于传统型数据库,它主要用于支持企业或组织的决策分析处理。主要有以下3个特点:
数据仓库是面向主题的:
数据仓库中的数据是按照一定的主题域进行组织,大概意思就是说存的数据是一类数据
数据仓库是随时间变化的:
其中存的数据是有时序的,会保存很长一段时间的数据
数据仓库相对稳定:
数据仓库主要是用来进行数据的查询,很少进行修改和删除
数据仓库的结构
二、Hive简介
2.1 Hive简介
Hive最初是Facebook开发的一款用来SQL分析的应用,它是建立在Hadoop文件系统上的数据仓库,能够对存储在HDFS中的数据进行数据提取、转换和加载(ETL),这是一种可以存储、查询、分析存储在Hadoop中的大规模数据的机制。Hive定义了简单的类SQL查询语言,简称HQL。但Hive并不是一个数据库,它只是提供了和数据库相类似的查询语言。其实他是用来执行简化MapReduce操作的,可以解决很多MapReduce解决起来比较麻烦的事。Hive把用户的HiveQL语句解释转换为MapReduce作业提交到Hadoop集群上,Hadoop监控作业执行过程,然后返回作业执行结果给用户。
2.2 Hive系统架构
- 用户接口:主要分为3个,分别是CLI(命令行)、JDBC/ODBC(由Java实现的用来连接数据库)、和WebUI(浏览器)。
- 跨语言服务(Thrift Server):Thrift是Facebook开发的一个软件框架,用来进行可扩展且跨语言的服务,Hive集成该服务,可以让不同的编程语言调用Hive的接口
- 底层的驱动引擎:主要包含编译器(Compile)/优化器(Optimizer)/执行器(Executor)
- 元数据存储系统(Metastore):Hive的元数据包括表名、列、分区及其相关属性,表数据所在目录的位置信息,Metastore默认存在自带的Derby数据库中(这是一个嵌入式数据库,更多有关嵌入式数据库资料查看这里在Spring中使用嵌入式数据库-H2)。
三、Hive实践
3.1 Hive安装
由于Hive依赖于Hadoop,所以要提前安装Hadoop,参见手把手教你安装Hadoop集群
下载并解压
之前的Hadoop是分布式安装在3台机器上的,但Hive只需要安装在一台机子即可,我这里选择的是hadoop02
下载地址:https://hive.apache.org/downloads.html,(在国内镜像网站上也是可以下载的)注意与Hadoop的版本对应,之前安装的Hadoop是2.x版本,这里下载安装Hive 2.3.9。 具体版本对应关系可在下载页面查看。
tar zxvf apache-hive-2.3.9-bin.tar.gz
配置环境变量
如何配置Linux环境变量
# ---------Hive----------
export HIVE_HOME=/home/apache-hive-2.3.9-bin
export PATH=$HIVE_HOME/bin:$HIVE_HOME/conf:$PATH
修改配置文件
这一步不是必须的,也就是不修改配置文件也是可以启动的。
Hive默认的配置是使得Derby数据库进行存储的,是单用户的模式,也就是意味着同一时间只能有一个用户使用Hive。这里修改的配置主要是使用MySQL来存储元数据。在Hive配置中原本有hive-default.xml.template,对这个文件进行复制修改
cd $HIVE_HOME/conf
cp hive-default.xml.template hive-site.xml
修改如下内容,可根据name属性进行搜索,可能并不连续
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://192.168.83.1:3307/hive?createDatabaseIfNotExist=true</value>
<description>
Mysql连接地址
</description>
</property>
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>123456</value>
<description>mysql密码</description>
</property>
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.cj.jdbc.Driver</value>
<description>JDBC驱动</description>
</property>
<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>root</value>
<description>mysql用户名</description>
</property>
<property>
<name>hive.querylog.location</name>
<value>/data/hive/querylog</value>
<description>Location of Hive run time structured log file</description>
</property>
<property>
<name>hive.exec.local.scratchdir</name>
<value>/data/hive/scratchdir</value>
<description>Local scratch space for Hive jobs</description>
</property>
<property>
<name>hive.downloaded.resources.dir</name>
<value>/data/hive/resourcesdir</value>
<description>Temporary local directory for added resources in the remote file system.</description>
</property>
<property>
<name>hive.server2.logging.operation.log.location</name>
<value>/data/hive/operation_logs</value>
<description>Top level directory where operation logs are stored if logging functionality is enabled</description>
</property>
将Mysql的JDBC连接连接驱动放进hive的lib目录下,注意下载与Mysql对应的版本
在Mysql中创建hive数据库,并在hive的bin下执行如下命令,初始化Mysql中元数据的存储schema
./schematool -initSchema -dbType mysql
启动Hive
由于已经配置了环境变量,所以直接执行hive即可启动
Hadoop生态系统—数据仓库Hive的安装的更多相关文章
- 基于Hadoop的数据仓库Hive
Hive是基于Hadoop的数据仓库工具,可对存储在HDFS上的文件中的数据集进行数据整理.特殊查询和分析处理,提供了类似于SQL语言的查询语言–HiveQL,可通过HQL语句实现简单的MR统计,Hi ...
- Hadoop整理五(基于Hadoop的数据仓库Hive)
数据仓库,是为企业所有级别的决策制定过程,提供所有类型数据支持的战略集合.它是单个数据存储,出于分析性报告和决策支持目的而创建. 为需要业务智能的企业,提供指导业务流程改进.监视时间.成本.质量以及控 ...
- Hadoop学习(7)-hive的安装和命令行使用和java操作
Hive的用处,就是把hdfs里的文件建立映射转化成数据库的表 但hive里的sql语句都是转化成了mapruduce来对hdfs里的数据进行处理 ,并不是真正的在数据库里进行了操作. 而那些表的定义 ...
- 从零自学Hadoop(14):Hive介绍及安装
阅读目录 序 介绍 安装 系列索引 本文版权归mephisto和博客园共有,欢迎转载,但须保留此段声明,并给出原文链接,谢谢合作. 文章是哥(mephisto)写的,SourceLink 序 本系列已 ...
- Hive -- 基于Hadoop的数据仓库分析工具
Hive是一个基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,通过类SQL语句快速实现简单的MapReduce统计,不必开发专门的MapReduce应用,十分适合数据仓库 ...
- 大数据系列之数据仓库Hive安装
Hive系列博文,持续更新~~~ 大数据系列之数据仓库Hive原理 大数据系列之数据仓库Hive安装 大数据系列之数据仓库Hive中分区Partition如何使用 大数据系列之数据仓库Hive命令使用 ...
- Hive和SparkSQL: 基于 Hadoop 的数据仓库工具
Hive: 基于 Hadoop 的数据仓库工具 前言 Hive 是基于 Hadoop 的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供完整的 SQL 查询功能,将类 SQL 语句转 ...
- 大数据之路week07--day05 (一个基于Hadoop的数据仓库建模工具之一 HIve)
什么是Hive? 我来一个短而精悍的总结(面试常问) 1:hive是基于hadoop的数据仓库建模工具之一(后面还有TEZ,Spark). 2:hive可以使用类sql方言,对存储在hdfs上的数据进 ...
- hadoop上hive的安装
1.前言 说明:安装hive前提是要先安装hadoop集群,并且hive只需要再hadoop的namenode节点集群里安装即可(需要再所有namenode上安装),可以不在datanode节点的机器 ...
随机推荐
- cad工具快速选择特性里面是空的解决方法
工具-选项-文件中,支持文件搜索路径中 添加,再浏览,找到"C:\Program Files\Common Files\Autodesk Shared"确定就OK了.
- 6.1 NOI 模拟
\(T1\ pocky\) 要求式子 \[\sum_{i=2}^n a_i\times \gcd(a_i,a_{i-1}) \] 考虑可以枚举\(a_i,a_{i-1}\)的值,然后插板法,枚举每个位 ...
- vue脚手架创建项目后使用路由报错Object(...) is not a function问题
在这之前我做过的vue项目没有这种问题,今天突然出现这个问题,也检查了很久的代码,最后解决我也不知道我是哪一步做错了 首先我是创建的vue2项目,基本操作跟平常一样,在运用路由跳转的时候遇到这个问题 ...
- Luogu4391 [BOI2009]Radio Transmission 无线传输 (KMP)
\(最小循环节\) \(=\) \(lenghth - next[lenghth]\) #include <iostream> #include <cstdio> #inclu ...
- Spring源码 09 IOC refresh方法4
参考源 https://www.bilibili.com/video/BV1tR4y1F75R?spm_id_from=333.337.search-card.all.click https://ww ...
- MyBatis-Plus 代码生成
MyBatis-Plus官网的代码生成器配置不是特别全,在此整理了较为完整的配置,供自己和大家查阅学习. // 代码生成器 AutoGenerator mpg = new AutoGenerator( ...
- (原创)【MAUI】在窗口(页面)关闭后获取其返回值
一.前言 作为一名 Winform 和 WPF 的老用户,没想到 MAUI 上变化那么大. 就像传统的窗口,我弹出一个模式窗口,关闭窗口后是可以获取到窗口的返回值的,即: DialogResult.后 ...
- 项目实践2:使用html和CSS实现图片轮播
好家伙, 使用html和CSS实现简单的图片切换(轮播图) 来自:(7条消息) 使用CSS实现简单的图片切换(轮播图)_LexingtonCV16的博客-CSDN博客_css实现图片切换 1.首先创建 ...
- ifort + mkl + impi (全套intel)编译安装量子化学软件GAMESS 2022 R1版本
说明:linux下编译软件都需要先配置好该软件依赖的系统环境.系统环境可以通过软件的安装说明了解,例如:readme.md等文件或网页.这个前提条件很重要!后面正式编译出错基本都可以归结到系统环境配置 ...
- java 类名后加变量名是什么意思?
回答这个问题我们需要先了解两个事情: A是一个类,我们如果对他进行实例化,需要这样写: A a = new A(); 详细解释一下这个语句,首先等号左边做的事情:在JVM栈内存(stack)中定义了一 ...