13. 数据仓库分层之ODS层

接下来几节将详细介绍各层如何实现各自功能。
ODS层:存放原始数据,直接加载原始日志、数据。
  1. 启动hadoop集群,启动Hive。

    [hadoop@hadoop151 ~]$ start-dfs.sh
    [hadoop@hadoop152 ~]$ start-yarn.sh
    [hadoop@hadoop151 bin]$ ./hive
  2. 创建数据库

    hive (default)> create database gmall;
    hive (default)> use gmall;
  3. 分析字段并建创建启动日志表。13. 数据仓库分层之ODS层_第1张图片

    hive (gmall)> drop table if exists ods_start_log;
    CREATE EXTERNAL TABLE ods_start_log (`line` string)
    PARTITIONED BY (`dt` string)
    STORED AS
      INPUTFORMAT 'com.hadoop.mapred.DeprecatedLzoTextInputFormat'
      OUTPUTFORMAT 'org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat'
    LOCATION '/warehouse/gmall/ods/ods_start_log';
  4. 加载数据。

    hive (gmall)> load data inpath '/origin_data/gmall/log/topic_start/2020-02-03' into table gmall.ods_start_log partition(dt='2020-02-03');
  5. 分析字段并建创建事件日志表。13. 数据仓库分层之ODS层_第2张图片

    hive (gmall)> drop table if exists ods_event_log;
    CREATE EXTERNAL TABLE ods_event_log(`line` string)
    PARTITIONED BY (`dt` string)
    STORED AS
      INPUTFORMAT 'com.hadoop.mapred.DeprecatedLzoTextInputFormat'
      OUTPUTFORMAT 'org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat'
    LOCATION '/warehouse/gmall/ods/ods_event_log';
  6. 加载数据

    hive (gmall)> load data inpath '/origin_data/gmall/log/topic_event/2020-02-03' into table gmall.ods_event_log partition(dt='2020-02-03');
  7. 查看数据是否存在。

    hive (gmall)> select * from ods_start_log limit 2;
    hive (gmall)> select * from ods_event_log limit 2;
  8. 可以使用脚本文件快速上传。

你可能感兴趣的:(数据仓库,hive)