大数据开发之Hive应用分析

Hive架构

1.用户接口:Client

CLI(hive shell) JDBC(java访问hive) WEBUI(浏览器访问hive)

2.元数据(Metastore)-数据库

元数据包括:表名称、表所属的数据库、表的拥有者、列/分区字段名、表的类型(外部/内部)、表的数据所在的目录

默认存储在自带的derby的数据库中,推大数据培训荐使用Mysql来存储元数据

3.hadoop

hive使用HDFS进行数据的存储,使用MR进行数据的计算

4.驱动器:driver

包含:解析器 -> 优化器 -> 编译器 -> 执行器

Hive的优点和使用场景

1.简单易用(操作接口采用类SQL语法,提供快速开发的能力)

2.避免我们去写MR,减少开发人员的学习成本

3.统一的元数据管理,可与impala、spark等共享数据

4.易扩展

5.数据的离线处理:比如日志分析,海量结构化数据离线分析

6.Hive的执行延迟比较高,因此Hive常用于数据离线分析,适合实时性要求不高的场景

7.Hive优势在于处理大数据,对于处理小数据没有优势,因为hive的执行延迟性很高。

Hive常用的命令

;
  ;
  ;
 ;  

   (
   ,
   ,
   ,
   )

  ;  

       ;
   ;
   ;
 ()   ;
 ;
  ;
  ;
 ;
  ;
   ;
 ,()   ;

Hive常用的配置属性

1.Hive数据仓库位置配置:hive-default.xml

...
//赋权命令  $ $HADOOP_HOME/bin/hadoop fs -mkdir       /user/hive/warehouse  $ $HADOOP_HOME/bin/hadoop fs -chmod g+w   /user/hive/warehouse

2.Hive运行日志的配置:hive-log4j.properties

..
...

3.Hive运行日志的级别:hive-log4j.properties

hive.root.logger=info,DRFA //可改为(DEBUG,DRFA)

4.在cli命令行上显示当前数据库名称,以及查询表的表头信息:hive-site.xml

...

    ....

5.在启动hive时设置配属属性项信息

:
    ...

要注意此种方式的设置,仅仅在当前会话session中有效,退出则失效。

6.查看hive当前所有的配置信息

;
   ...;
   ...;

修改配置信息优先级:

  • set -> --hiveconf -> hive-site.xml -> hive-defualt.xml

Hive shell常用的操作

bin/hive -help
:
 ,
                                  . ..     

 ,                          

                                  . ..  

 ,
 ,                       (
                                  )
1. bin/hive -e "select * from db_hive.student"     bin/hive -e "select count(1) from db_hive.student"       可直接执行查询语句
.
.     .

Hive中数据库的操作方式

() [  ]
    [ ]
    [ ]
    [  (, )];
;

              ;
() [ ]  [];
          ;
           ;
;

Hive中数据库表的创建方式(三种)

第一种:创建Textfile类型以“,”为分隔符的表

.
    (   )

      ;

:
     (
     ,
     )

    ;

第二种:复制已有表或视图的结构

.

:
        .
     .

第三种:复制已有表的结构和数据

.  

          .
      .
(0)

相关推荐

  • Hive,Hive on Spark和SparkSQL区别

    Hive on Mapreduce Hive的原理大家可以参考这篇大数据时代的技术hive:hive介绍,实际的一些操作可以看这篇笔记:新手的Hive指南,至于还有兴趣看Hive优化方法可以看看我总结 ...

  • BigData之Hive:Hive数据管理的简介、下载、案例应用之详细攻略

    BigData之Hive:Hive数据管理的简介.下载.案例应用之详细攻略 Hive数据管理的简介 Hive是基于Hadoop的一个数据仓库工具,用来进行数据提取.转化.加载,这是一种可以存储.查询和 ...

  • 大数据开发之Hive解析Json数组

    在Hive中会有很多数据是用Json格式来存储的,如开发人员对APP上的页面进行埋点时,会将多个字段存放在一个json数组中,因此数据平大数据培训台调用数据时,要对埋点数据进行解析.接下来就聊聊Hiv ...

  • 大数据开发之Spark SQL/Hive实用函数分享

    字符串函数 1. concat 对字符串进行拼接:concat(str1, str2, ..., strN) ,参数:str1.str2...是要进行拼接的字符串. , (, ); 2. concat ...

  • 大数据开发之HDFS分布式文件存储系统详解

    HDFS(Hadoop Distributed File System)分布式文件存储系统,主要为各类分布式计算框架如Spark.MapReduce等提供海量数据存储服务,同时HBase.Hive底层 ...

  • 大数据开发之Yarn和Spark UI界面获取的方法

    一.Yarn 以获取Yarn界面队列信息为例: 1. 接口(HTTP Request) http://ip:port/ws/v1/cluster/scheduler ip和port:Yarn Reso ...

  • 大数据开发之Spark入门

    什么是Spark? ·大数据的电花火石. ·Spark类似于MapReduce的低延迟的交互式计算框架. ·Spark是UC Berkeley AMPLab开发的是一种计算框架,分布式资源工作交由集群 ...

  • 大数据开发之Spark 基础入门学习

    集群相关 Cluster Manager指的是在集群上获取资源的外部服务,为每个spark application在集群中调度和分配资源的组件,目前有三种类型: Standalone:Spark 原生 ...

  • 大数据开发之Hadoop集群安装教程

    配置文件的修改 注意:以下所有操作都在node01主机进行. 1.1 hadoop-env.sh 1.介绍 文件中设置的是Hadoop运行时需要的环境变量.JAVA_HOME是必须设置的,即使我们当前 ...

  • 大数据开发之HDFS的API操作过程

    创建maven工程并导入jar包 <repositories> <repository> <id>cloudera</id> <url>ht ...

  • 大数据开发之Hadoop生态6 大核心组件

    Hadoop 第一代分布式存储计算框架 Hadoop是一个分布式系统基础架构,由Apache基金会开发,它允许用户在不了解分布式底层细节的情况下,开发分布式程序,充分利用集群的威力高速运算和存储.Ha ...