zoukankan      html  css  js  c++  java
  • [Hive_1] Hive 基本概念

    Hive 系列01

    Hive 简介 & Hive 应用场景 & Hive 与 Hadoop 的关系 & Hive 与传统数据库对比


     

     

    1. Hive 简介

      [ 官方介绍 ]

      Apache Hive™ 数据仓库软件有助于使用 SQL 读取、编写和管理驻留在分布式存储中的大型数据集。

      可以将结构投影到已存储的数据中。提供了命令行工具和 JDBC 驱动程序以将用户连接到 Hive。

      [ 通俗理解 ]

      Hive 就是在 Hadoop 上架了一层 SQL 接口,可以将 SQL 翻译成 MapReduce 去 Hadoop 上执行,这样就使得

      数据开发和分析人员很方便的使用 SQL 来完成海量数据的统计和分析,而不必使用编程语言开 MapReduce 那么麻烦。

      [ 最终理解 ]

      Hive 是 OLAP(online analyze process,在线分析处理)。通常称为数据仓库,简称数仓。内置很多分析函数,可进行海量数据的在线分析处理。

      Hive 构建在 Hadoop 之上,使用 HDFS 作为进行存储,计算过程采用的是 Mapreduce 完成,本质上 Hive 是对 Hadoop 的  MapReduce 的封装,通过原始的  MapReduce 方式进行数据处理与分析,往往效率较低,而且具有相当的复杂度,学习曲线较长。

      Hive 常用传统的 SQL 方式作为操作手段,极大的降低了学习曲线,毕竟大部分人对 SQL 还是比较熟悉的。但在运行时,仍然要将 SQL 进行翻译成 MapReduce 程序进行。


     

    2. Hive 应用场景

      Hive 适用于离线数据的分析,操作的是通用格式的(如通用的日志文件)、被 Hadoop 管理的数据文件,它支持类 SQL,比编写 MapReduce 的 Java 代码来的更加方便,它的定位是数据仓库,存储和分析历史数据。


    3. Hive 与 Hadoop 的关系

      3.1 关系

    1. Hive构建在 Hadoop 之上

    2. HQL 中对查询语句的解释、优化、生成查询计划是由 Hive 完成的

    3. 所有的数据都是存储在 HDFS 中

    4. 查询计划被转化为 MapReduce 任务,在 Hadoop 中执行(有些查询没有 MR 任务,如:select * from table)

    5. Hadoop 和 Hive 都是用 UTF-8 编码的

      3.2 Hive 语句和 MR 执行过程对应

     

     


    4. Hive 与传统数据库对比

      4.1 对比1

    # 结构化查询语言
    SQL => struct query language
    
    # 类 SQL ,和 SQL 语句差别不大
    HQL => hive query language
    
    # 不仅仅是 SQL ,和 SQL 语句差距较大
    No SQL => not only SQL
    
    

      4.2 对比2

      1. 传统数据库 OLTP(online transaction process 在线事务处理)

    # 事务:
        ACID
        A:atomic            原子性
        C: consistent        一致性
        I:isolation           隔离性
        D: durability         持久性
    ​
    # RDBMS(关系型数据库管理系统)
        # 范式
            # 第一范式
            无重复的列,一列只能包含一个字段
            
            # 第二范式
            主键约束,一行只能被唯一标识
    ​
            # 第三范式
            非主键字段要严格依赖于主键字段


      2. Hive(OLAP:online analyze process 在线分析处理)

    Hive 数据仓库:反范式设计,允许甚至推荐冗余
    
    提供类似 SQL 的查询语言,我们称之为 HiveQL 或者 HQL
    
    熟悉的,快速的,可伸缩的,可扩展的

     
    且将新火试新茶,诗酒趁年华。
  • 相关阅读:
    sencha touch 扩展篇之将sencha touch打包成安装程序(上)- 使用sencha cmd打包安装程序
    sencha touch 扩展篇之使用sass自定义主题样式 (下)通过css修改官方组件样式以及自定义图标
    一个不错的android组件的网站
    sencha touch 扩展篇之使用sass自定义主题样式 (上)使用官方的api修改主题样式
    sencha touch 入门系列 (九) sencha touch 布局layout
    面试题总结
    国外接活网站Elance, Freelancer和ScriptLance的介绍和对比
    sencha touch 入门系列 扩展篇之sencha touch 项目打包压缩
    Android Design Support Library——Navigation View
    设计模式——命令模式
  • 原文地址:https://www.cnblogs.com/share23/p/9705156.html
Copyright © 2011-2022 走看看