在Hive中适不适合像传统数据仓库一样利用维度建模

如题所述

第1个回答  2020-04-21

数据模型组成及应用场景

    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,每个桶就是表目录里的一个文件

本回答被提问者采纳
第2个回答  2017-05-21
没有本质的区别,数据集市范围比较小,一般是个别部门的数据。 而数据仓库是面向主题的、集成的、相对稳定的、反映历史变化的一系列整合的数据。
相似回答