大数据之HIVE

HIVE

1.概述

  1. Hive时Apache提供的一套基于Hadoop的用于进行数据仓库操作的工具
  2. Hive提供了类SQL语句来操作数据,在底层将SQL转化为MapReduce程序来执行,所以Hive的执行效率比较低,适合于离线分析。
  3. 每一个database,table会在HDFS上对应一个目录
  4. Hive中没有主键

2.数据仓库

  1. 数据仓库的数据量>TB,数据库<=GB
  2. 数据种类和来源,数据仓库和来源相对丰富,数据种类和来源比较单一
  3. 数据仓库:弱事务,在数据操作,数据仓库一般存放历史数据,数据库里不会
  4. 冗余:数据库中数据要尽量的精简数据仓库中人为的制造数据库和
  5. 数据仓库:OLAP-l联机分析处理系统,数据库OLTP联机事务处理系统

3.案例

  • 创建表的时候指定字段之间的间隔符为空格
    大数据之HIVE

  • 将本地文件中的数据加载到表中
    大数据之HIVE

  • 从student表中查数据,将age>=15的数据放大stu2中,将id<3的数据放到stu3中
    大数据之HIVE

  • 从student表中查询age<19的数据,查询出来的数据放到本地目录中:
    大数据之HIVE
    这个语句中,需要注意的地方时要求存储的路径对应的目录必须时空目录或者这个路径不存在

  • 从student表中查询数据,放到hdfs的student目录下
    大数据之HIVE

4.表结构

  1. 内部表和外部表
  • 在hive中创建的放在/user/hive/warehouse目录下的表称之为内部表,需要手动创建动手添加数据
  • 如果需要管理HDFS中已经存在的数据,那么简历外部表,外部表只能指定到目录不能指定具体文件,管理这个目录下的所有文件。例如
    大数据之HIVE
    如果删除内部表,则对应的目录也会删除,如果产出外部表,则对应的数据不会删除
  1. 分区表
    大数据之HIVE
    未完待续