Hive之基本概念、Hive 安装环境准备以及启动并使用 Hive

一:Hive基本概念

  1.  什么是Hive?
       
  2. Hive优缺点
     ⑴优点
              
     ⑵缺点
              
  3. Hive 架构原理 



  4. Hive 和数据库比较 
    由于 Hive 采用了类似 SQL 的查询语言 HQL(Hive Query Language),因此很容易
    将 Hive 理解为数据库。其实从结构上来看,Hive 和数据库除了拥有类似的查询语言,再无
    类似之处。数据库可以用在 Online 的应用中,但是 Hive 是为数据仓库而设计的,类似mysql,
    Oracle等常规数据库一般用于增删改查,但是Hive一般只用于查询。清楚这一点,有助于从应
    用角度理解 Hive 的特性。
    ⑴查询语言
            
    ⑵数据存储位置 
            
    ⑶数据更新 
             
    ⑷ 索引 
           
    ⑸执行 
           
    ⑹执行延迟 
           
    ⑺可扩展性 
           
    ⑻数据规模 
           

二:Hive 安装环境准备以及基本操作

  1. Hive各个版本下载地址 :Index of /dist/hive
             
  2. 使用hive的版本
     
  3. 将软件包上传到/opt/software目录下
     
  4. 解压软件到/opt/module目录下
  5. 将名称修改为hive
     
  6. 修改/etc/profile,添加环境变量
    [kgf@hadoop20 module]$ sudo vim /etc/profile
    [sudo] password for kgf:
    [kgf@hadoop20 module]$ source /etc/profile
    [kgf@hadoop20 module]$
  7. 内容如下​​​​​​​
    export HIVE_HOME=/opt/module/hive
    export PATH=$PATH:$HIVE_HOME/bin
  8. 解决日志jar包冲突
     
    mv $HIVE_HOME/lib/log4j-slf4j-impl-2.10.0.jar $HIVE_HOME/lib/log4j-slf4j-impl-2.10.0.bak
  9. hadoop集群配置,因为hive是依赖于hadoop的,所以hadoop的hdfs和yarn必须启动
    ⑴在hadoop20启动hdfs
          
    [kgf@hadoop20 hadoop-3.1.3]$ sbin/start-dfs.sh
    Starting namenodes on [hadoop20]
    Starting datanodes
    Starting secondary namenodes [hadoop22]
    [kgf@hadoop20 hadoop-3.1.3]$
    [kgf@hadoop20 hadoop-3.1.3]$ jps
    2114 DataNode
    1990 NameNode
    2380 Jps
    1663 QuorumPeerMain
    [kgf@hadoop20 hadoop-3.1.3]$

    ⑵到hadoop21上启动yarn
           
    [kgf@hadoop21 hadoop-3.1.3]$ sbin/start-yarn.sh
    Starting resourcemanager
    Starting nodemanagers
    [kgf@hadoop21 hadoop-3.1.3]$
    [kgf@hadoop21 hadoop-3.1.3]$ jps
    2531 NodeManager
    2396 ResourceManager
    1677 QuorumPeerMain
    2205 DataNode
    2877 Jps
    [kgf@hadoop21 hadoop-3.1.3]$
  10. 初始化元数据库
    [kgf@hadoop20 hive]$ ll
    total 52
    drwxrwxr-x. 3 kgf kgf   157 Jun 19 10:58 bin
    drwxrwxr-x. 2 kgf kgf  4096 Jun 19 10:58 conf
    drwxrwxr-x. 4 kgf kgf    34 Jun 19 10:58 examples
    drwxrwxr-x. 7 kgf kgf    68 Jun 19 10:58 hcatalog
    drwxrwxr-x. 2 kgf kgf    44 Jun 19 10:58 jdbc
    drwxrwxr-x. 4 kgf kgf 12288 Jun 19 11:05 lib
    -rwxr-xr-x. 1 kgf kgf 20798 Aug 22  2019 LICENSE
    -rwxr-xr-x. 1 kgf kgf   230 Aug 22  2019 NOTICE
    -rwxr-xr-x. 1 kgf kgf  2469 Aug 22  2019 RELEASE_NOTES.txt
    drwxrwxr-x. 4 kgf kgf    35 Jun 19 10:58 scripts
    [kgf@hadoop20 hive]$ bin/schematool -dbType derby -initSchema
    Metastore connection URL:        jdbc:derby:;databaseName=metastore_db;create=true
    Metastore Connection Driver :    org.apache.derby.jdbc.EmbeddedDriver
    Metastore connection User:       APP
    Starting metastore schema initialization to 3.1.0
    Initialization script hive-schema-3.1.0.derby.sql
    ​​​​​​

三、启动并使用 Hive

1)启动 Hive

[kgf@hadoop20 hive]$ bin/hive
which: no hbase in (/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/opt/module/jdk1.8.0_191//bin:/opt/module/hadoop-3.1.3/bin:/opt/module/hadoop-3.1.3/sbin:/home/kgf/.local/bin:/home/kgf/bin:/opt/module/jdk1.8.0_191//bin:/opt/module/hadoop-3.1.3/bin:/opt/module/hadoop-3.1.3/sbin:/opt/module/hive/bin)
Hive Session ID = a981ba6d-d1bb-4456-a7c9-321fe472b5e5

Logging initialized using configuration in jar:file:/opt/module/hive/lib/hive-common-3.1.2.jar!/hive-log4j2.properties Async: true
Hive-on-MR is deprecated in Hive 2 and may not be available in the future versions. Consider using a different execution engine (i.e. spark, tez) or using Hive 1.X releases.
Hive Session ID = 2bb7f30e-3ec1-49ff-918f-517a1573b3bf
hive>

2)使用 Hive

hive> show databases;
hive> show tables;
hive> create table test(id int);
hive> insert into test values(1);
hive> select * from test;

3)在 CRT 窗口中开启另一个窗口开启 Hive,在/tmp/kgf目录下监控 hive.log 文件

[kgf@hadoop20 kgf]$ ll
total 128
drwx------. 2 kgf kgf     6 Jun 19 11:16 2bb7f30e-3ec1-49ff-918f-517a1573b3bf
-rw-rw-r--. 1 kgf kgf     0 Jun 19 11:16 2bb7f30e-3ec1-49ff-918f-517a1573b3bf2396236254565723705.pipeout
-rw-rw-r--. 1 kgf kgf     0 Jun 19 11:16 2bb7f30e-3ec1-49ff-918f-517a1573b3bf4252289805659396197.pipeout
drwx------. 2 kgf kgf     6 Jun 19 11:17 a981ba6d-d1bb-4456-a7c9-321fe472b5e5
-rw-rw-r--. 1 kgf kgf     0 Jun 19 11:15 a981ba6d-d1bb-4456-a7c9-321fe472b5e51730695550710527157.pipeout
-rw-rw-r--. 1 kgf kgf     0 Jun 19 11:15 a981ba6d-d1bb-4456-a7c9-321fe472b5e53382205917689015301.pipeout
-rw-rw-r--. 1 kgf kgf 73511 Jun 19 11:17 hive.log
[kgf@hadoop20 kgf]$ pwd
/tmp/kgf
[kgf@hadoop20 kgf]$

4) 在hdfs中存储的位置(默认的位置)

Hive 默认使用的元数据库为 derby,开启 Hive 之后就会占用元数据库,且不与 其他客户端共享数据,所以我们需要将 Hive 的元数据地址改为 MySQL​​​​​​​

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值