美文网首页
数据仓库Hive

数据仓库Hive

作者: V_6619 | 来源:发表于2021-11-26 16:52 被阅读0次
    • Hive产生背景
    • Hive概述
    • HIve体系架构
    • Hive部署架构
    • Hive和RDBMS区别
    • Hive部署以及快速入门
    • HIve DDL详解
    • Hive DML详解

    • \color{red}{Hive产生背景}
    1. MapReduce编程的不便性
    2. 传统RDBMS人员的需求
    • \color{red}{Hive概述}
    1. 由Facebook开源,用于解决海量结构化日志的数据统计问题
    2. 构建在Hadoop之上的数据仓库(Hive的数据存放在HDFS之上,可以通过MapReduce计算,并且提交到YARN上运行)
    3. Hive提供的SQL查询语言:HQL
    4. 底层支持多种不同的执行引擎(MR / Tez / Spark)

    为什么要使用Hive

    1. 简单,容易上手
    2. 为超大数据集设计的计算/扩展能力
    3. 统一的元数据管理 (Hive数据是存放在HDFS上,元数据信息是存放在MySQL中)
    image.png
    • \color{red}{Hive体系架构}
      image.png

    Command-line shell: 命令行
    Thrift/JDBC:server/client WebUI(HUE/Zeppelin 一组WEB应用,用于和MRS大数据组件进行交互)

    MetaStore:元数据管理
    ----- database:name、location、owner
    ----- table:name、location、owner、column、name/type

    Diver:

    • \color{red}{Hive部署架构}
      image.png
    • \color{red}{Hive和RDBMS区别}
      主要用于离线处理

    • \color{red}{Hive部署以及快速入门}

    1. 下载
    2. 解压
    3. 添加HIVE_HOME到系统环境变量
    4. 修改配置 hive-env.sh hive-site.xml(元数据存储的地方)
    5. 拷贝MySQL驱动包到$HIVE_HOME/lib
    6. 前提是要安装一个MySQL数据库

    HIve数据抽象/结构
    database HDFS一个目录
    ===table HDFS一个目录
    =====data 文件
    =====partition 分区表
    =========bucket 分桶

    CREATE [REMOTE] (DATABASE|SCHEMA) [IF NOT EXISTS] database_name
      [COMMENT database_comment]
      [LOCATION hdfs_path]
      [MANAGEDLOCATION hdfs_path]
      [WITH DBPROPERTIES (property_name=property_value, ...)];
    

    /user/hive/warehouse是Hive默认的存储在HDFS上的路径

    LOAD DATA [LOCAL] INPATH 'filepath' [OVERWRITE] INTO TABLE tablename [PARTITION (partcol1=val1, partcol2=val2 ...)]
     
    LOAD DATA [LOCAL] INPATH 'filepath' [OVERWRITE] INTO TABLE tablename [PARTITION (partcol1=val1, partcol2=val2 ...)] [INPUTFORMAT 'inputformat' SERDE 'serde'] (3.0 or later)
    

    LOACL: 本地系统,如果没有local就指的是HDFS路径
    OVERWRITE:数据覆盖,如果没有就是追加

    相关文章

      网友评论

          本文标题:数据仓库Hive

          本文链接:https://www.haomeiwen.com/subject/jrdbtrtx.html