首页 > 其他分享 >Hive安装及相关介绍

Hive安装及相关介绍

时间:2024-10-17 11:21:41浏览次数:3  
标签:xml 安装 hive 介绍 env mysql Hive 数据

1 Hive简介

Hive是facebook开源,捐献给apache组织,作为apache组织的顶级项目(hive.apache.org)。 hive是一个基于大数据技术的数据仓库(DataWareHouse)技术,主要是通过将用户书写的SQL语句翻译成MapReduce代码,然后发布任务给MR框架执行,完成SQL 到 MapReduce的转换。可以将结构化的数据文件映射为一张数据库表,并提供类SQL查询功能。

关键信息:

  • 数据仓库和数据库

    数据仓库和数据库一样都是用来保存数据,但是二者的定位有很大的差异。

    数据库(DataBase):

    • 存储复杂的表格数据,存储结构紧致,少冗余数据

    • 存储的都是实时的业务数据(比如商品信息、订单信息),为应用的普通使用者使用的功能(商品详情、查询订单)提供功能支持

    • 数据库中的数据即又要读(比如查看商品信息),也要写(比如产生订单,完成支付)

    • 相对简单的读写操作,单次操作少量的数据。对于单次大量数据的读是支持不足的。

    数据仓库(DataWareHouse):

    • 存储的是相对简单的表格数据,存储结构相对松散,多冗余数据

    • 存储的是应用的历史数据,包含业务数据和非业务数据(某个页面的pv和uv),为专业用户(程序员、产品经理、运营人员)分析产品运行状况、制定公司运营决策做支持

    • 数据仓库中的数据主要用于读

    • 相对复杂的分析查询操作,单次操作大量的数据。

  • Hive的特点

    作用:

    • Hive是一个数据仓库

    • Hive构建在HDFS上,底层使用HDFS,也就可以存储海量数据。

    • Hive允许程序员使用SQL命令来完成数据的分析统计,底层转换为Yarn调度下的MR操作。(Hive会将SQL转化为MR操作)

    优点:

    • 简化程序员的开发难度,写SQL即可,避免了写MR程序,减少开发人员的学习成本

    缺点:

    • 延迟较高(MapReduce本身延迟,Hive SQL向MapReduce转化优化的成本),适合做大数据的离线处理(TB PB级别的数据,统计结果延迟1天产出)

    不适合场景:

    • 小数据量

    • 实时计算

2 Hive的架构

相关概念:

  • HDFS:用来存储hive仓库的数据文件

  • Yarn:用来完成hive的HQL转化的MR程序的执行

  • MetaStore:保存管理hive的元数据

  • Driver:将HQL的执行,转化为MapReduce程序的执行,从而对HDFS集群中的数据进行统计。

3 Hive的安装步骤

          安装涉及的软件:HDFS、Yarn、MySQL(存储hive的元数据)、Hive

    3.1 下载hive压缩包

        地址:https://archive.apache.org/dist/hive

        选择所需的版本下载(-bin.tar.gz)结尾

    3.2 上传压缩包到linux并解压

# 解压压缩包到指定目录
tar -zxvf apache-hive-2.3.7-bin.tar.gz -C /opt/installs

# 更改压缩包名称
mv apache-hive-2.3.7-bin hive2.3.7

     3.3 配置环境变量

vim /etc/profile


# 在最后添加
export HIVE_HOME=/opt/installs/hive2.3.7
export PATH=$PATH:$HIVE_HOME/bin


# 完成后刷新环境变量
source /etc/profile

     3.4 初始化hive配置

        在hadoop的 core-site.xml,添加如下配置

<!--
	配置任意机器(hosts=*)上任意用户组(groups=*)的用户可以使用root的身份操作hadoop
-->
<property>
    <name>hadoop.proxyuser.root.groups</name>
    <value>*</value>
</property>

<property>
    <name>hadoop.proxyuser.root.hosts</name>
    <value>*</value>
</property>

     3.5 配置 hive/conf/hive-env.sh

#复制 hive-env.sh.template 并改名为hive-env.sh
cp hive-env.sh.template hive-env.sh

#配置hive-env.sh
vi hive-env.sh

# 配置hadoop目录
HADOOP_HOME=/opt/installs/hadoop-2.9.2/
# 指定hive的配置文件目录
export HIVE_CONF_DIR=/opt/installs/hive2.3.7/conf/

     3.6 配置 hive-site.xm

# 复制hive-default.xml.template 并改名hive-site.xml
cp hive-default.xml.template hive-site.xml

# 编辑 hive-site.xml
vi hive-site.xml

    <!-- 将configuration中原有子标签全部删掉,保留configuration父标签-->
    <!--hive的元数据保存在mysql中,需要连接mysql,这里配置访问mysql的信息-->
    
    <property>
        <name>javax.jdo.option.ConnectionURL</name>
        <value>jdbc:mysql://ip:3306/hive?useUnicode=true&amp;characterEncoding=utf-8&amp;useSSL=false</value>
    </property>
    <!--数据库驱动类名5.X版本-->
    <property>
        <name>javax.jdo.option.ConnectionDriverName</name>
        <value>com.mysql.jdbc.Driver</value>
    </property>
     <!--数据库驱动类名8.X版本-->
    <property>
        <name>javax.jdo.option.ConnectionDriverName</name>
        <value>com.mysql.cj.jdbc.Driver</value>
    </property>
    <!--数据库用户名-->
    <property>
        <name>javax.jdo.option.ConnectionUserName</name>
        <value>hive</value>
    </property>
    <!--数据库密码-->
    <property>
        <name>javax.jdo.option.ConnectionPassword</name>
        <value>123456</value>
    </property>

     3.6 mysql中创建hive数据库和用户

# 使用root用户进入
mysql -u root -p

# 创建hive用户允许远程连接密码为123456
CREATE USER 'hive'@'%' IDENTIFIED BY '123456';

# 创建hive数据库
create database hive;

# 给hive用户赋予对hive数据库的所有权
grant all on hive.* to 'hive'@'%';

# 刷新mysql授权信息
flush privileges;

     3.7 初始化Hive元数据

        1. 下载对应mysql版本的mysql-connector-java-x.x.x.jar

                ​​​​​​​地址:https://downloads.mysql.com/archives/c-j/

        2.将解压好的jar包放到 hive/lib 目录下

        3.执行初始化命令

schematool -dbType mysql -initSchema

Metastore connection URL:        jdbc:mysql://ip:3306/hive?useUnicode=true&characterEncoding=utf-8&useSSL=false
Metastore Connection Driver :    com.mysql.jdbc.Driver
Metastore connection User:       hive
Starting metastore schema initialization to 2.3.0
Initialization script hive-schema-2.3.0.mysql.sql
Initialization script completed
schemaTool completed    

 返回schemaTool completed  说明初始化成功,此时在mysql的hive数据库中新增了很多的表,这些表用来保存hive元数据。

标签:xml,安装,hive,介绍,env,mysql,Hive,数据
From: https://blog.csdn.net/weixin_57876654/article/details/142999878

相关文章

  • 在Debian系统中安装Vue开发环境
     在Debian系统中安装Vue开发环境,你可以按照以下步骤进行:1.安装Node.js和npmVue.js是基于JavaScript的框架,因此需要先安装Node.js和npm(Node.js的包管理器)。你可以通过以下命令安装:sudoaptupdatesudoaptinstallnodejsnpm2.安装VueCLI 2.安装CLI视图VueCL......
  • ACME续签证书在Linux云服务器上安装指南
    环境供应商;阿里云服务器操作系统:LinuxCentosStream9操作系统静态代理:Nginx前言我这边使用https://get.acme.sh方式无法正常使用,会卡在这个页面,无任何进度的信息。最终我使用了gitclone的方式进行安装。正文clone项目下来,并进行install初始安装ACME环境gitcloneht......
  • hive根据出生日期计算大于18岁
    使用Hive根据出生日期计算是否大于18岁在当今数据驱动的世界中,越来越多的企业和机构需要根据用户的出生日期来进行年龄验证。尤其是在涉及法律法规的领域,比如金融服务、在线社交平台等,确保用户年满18岁是至关重要的。ApacheHive是一个基于Hadoop的数据仓库工具,可以用于分......
  • ArkTS语言介绍
    ArkTS是一种为构建高性能应用而设计的编程语言。ArkTS在继承TypeScript语法的基础上进行了优化,以提供更高的性能和开发效率。随着移动设备在人们的日常生活中变得越来越普遍,许多编程语言在设计之初没有考虑到移动设备,导致应用的运行缓慢、低效、功耗大,针对移动环境的编程语言优化......
  • 大模型(LLM)最新研究论文介绍(合集)
    目录\1.CTRLA:通过探针引导控制的自适应检索增强生成\2.压缩大型语言模型:使用低秩和低精度分解方法\3.通过LLM知识转移增强零样本面部表情识别\4.大型语言模型(LLMs):部署、代币经济学与可持续性\5.审视大型语言模型提示策略以自动评估学习者创建的计算成果———......
  • 夜神模拟器抓包:如何安装系统证书而不是用户证书
    APP渗透是大家学习渗透无法绕过的一篇重大模块,其中APP抓包是一个APP渗透中必须掌握的能力,但是,安卓从7.0版本开始,已经不再信任用户证书,单单安装为用户证书,浏览器就会提示证书不可信或者存在风险,游戏中心等也是处于不可用的状态。所以我们需要安装证书到系统证书目录下面,但是繁......
  • Ubuntu上安装KVM并配置显卡直通
    在Ubuntu上安装KVM并配置显卡直通(GPUPassthrough)可以显著提升虚拟机的性能,特别是对于需要高图形处理能力的应用。以下是一个简要的步骤指南:检查硬件支持:确保你的CPU和主板支持VT-d(Intel)或AMD-Vi(AMD)。在BIOS中启用IOMMU。安装必要的软件包:sudoaptupdatesudoaptin......
  • 介绍1个简单好用的随机动物网站,关键还免费
    网站介绍生成随机动物的网站,每次点击随机按钮,可以生成6张随机的动物图片,点击图片,会弹出wiki的动物解释animalgenerator网站地址,点击可访问还有其他随机生成器功能1、随机动物生成器2、随机名称转盘生成器3、随机密码生成器4、随机颜色生成器5、随机数字生成器6、随机组......
  • Office 2024 for mac 安装、激活教程
    声明本教程旨在学习分享。安装要求macOS12.0或更高版本,64位处理器安装步骤1、安装Office2024formac安装包;2、安装Office2024formac激活软件包;安装Office2024formac①下载Office2024formac,下载地址-点击下载②安装下载好的Office......
  • linux系统中安装JDK
    文章目录1、查看系统版本2、下载JDK版本3、上传4、复制5、添加配置6、重启配置7、查看版本1、查看系统版本查看linux系统版本uname-a这边是x86-64就代表64位系统i686代表32位系统2、下载JDK版本JDK下载相对应的版本在下载之前先勾选AcceptLicenseAgreement,......