限时福利领取


数据仓库与数据库的差异

数据库主要用于日常业务处理(OLTP),特点是频繁的增删改查操作。而数据仓库(OLAP)则是为分析历史数据而设计,支持管理决策。主要区别在于:

  1. 数据库面向业务,数据仓库面向分析主题
  2. 数据库存储当前业务数据,数据仓库存储历史数据
  3. 数据库设计避免冗余,数据仓库有意引入分析维度
  4. 数据库捕获数据,数据仓库分析数据

数据仓库架构图

典型的数据仓库分为三层:

  • ODS层:原始数据临时存储区
  • DW层:经过清洗的明细数据
  • APP层:面向应用的聚合数据

Hive数据库操作指南

  1. 创建数据库

    CREATE DATABASE IF NOT EXISTS mydb;
    USE mydb;
  2. 查看数据库信息

    DESC DATABASE mydb;
    数据库存储位置
  3. 指定存储路径创建

    CREATE DATABASE mydb2 LOCATION '/custom/path';
  4. 删除数据库

    -- 删除空数据库
    DROP DATABASE mydb;
    
    -- 强制删除(含表)
    DROP DATABASE mydb2 CASCADE;

数据表管理技巧

常用数据类型

内外表区别

  • 内部表:删除时会同时移除元数据和存储数据
  • 外部表:仅删除元数据,保留存储数据

常用表操作

  1. 查看表信息

    -- 查看所有表
    SHOW TABLES;
    
    -- 查看建表语句
    SHOW CREATE TABLE table_name;
    
    -- 查看表结构
    DESC table_name;
  2. 修改表属性

    -- 重命名表
    ALTER TABLE old_name RENAME TO new_name;
    
    -- 修改存储路径
    ALTER TABLE table_name SET LOCATION '/new/path';
    
    -- 修改表属性
    ALTER TABLE table_name SET TBLPROPERTIES ('key'='value');
  3. 内外表转换

    -- 转外部表
    ALTER TABLE table_name SET TBLPROPERTIES ('EXTERNAL'='TRUE');
    
    -- 转内部表
    ALTER TABLE table_name SET TBLPROPERTIES ('EXTERNAL'='FALSE');

字段分隔符设置

Hive默认使用特殊字符\001作为分隔符,可通过以下语法自定义: ```sql ROW FORMAT DELIMITED FIELDS TERMINATED BY '分隔符'

Logo

音视频技术社区,一个全球开发者共同探讨、分享、学习音视频技术的平台,加入我们,与全球开发者一起创造更加优秀的音视频产品!

更多推荐