美文网首页Hadoop大数据
数仓--Hive-面试之Hive的数据模型及各模块的应用场景

数仓--Hive-面试之Hive的数据模型及各模块的应用场景

作者: 李小李的路 | 来源:发表于2019-05-09 18:34 被阅读151次

    这个讲起来搞不好让手写代码,扩展延申的问

    Hive的数据模型

    Hive数据模型.png

    数据模型组成及应用场景

    • Hive的数据模型主要有:database、table、partition、bucket四部分;

    数据模型之database

    • database:相当于关系型数据库中的命名空间,作用是将数据库应用隔离到不同的数据库模式中,hive提供了create database dbname、use dbname 以及drop database dbname的语句;

    数据模型之table

    • table:表是由存储的数据以及描述表的一些元数据组成。数据存储再分布式文件系统中,元数据存储在关系型数据库中;
    • hive表分四种:
      • MANGED_TABLE :内部表
      • EXTERNAL_TABLE:外部表
      • INDEX_TABLE:索引表
      • VIRTUAL_VIEW :视图表
    • 查看表的具体信息使用:desc tablename或者 desc formatted tablename
      Hive内部表和外部表的区别

    数据模型之partition

    • hive的分区是根据某列的值进行粗略的划分,每个分区对应HDFS上的一个目录;

    数据模型之bucket

    • 要使用hive的分桶功能,首先需要打开hive对痛的控制 set hive.enforce.bucketing=true;
    • bucket是按照指定值进行hash,每个桶就是表目录里的一个文件

    相关文章

      网友评论

        本文标题:数仓--Hive-面试之Hive的数据模型及各模块的应用场景

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