hive电商项目:1数仓构建过程

1、获取数据源
后台的服务数据
前台的点击流日志数据
业务数据

2、确定主题
用户主题:用户、会员相关的信息
订单主题:订单相关的信息
浏览器主题:跟浏览器相关的信息
事件主题:跟事件相关

3、创建模型(创建表)
100张表以内不分层,以外将分层。
如果维度表较多则将维度表单独分层

1、创建维度层:
dim_维度表
地域维度:拆分成 省 市
浏览器维度:浏览器名称、版本
时间维度:周、季度
事件维度:category(种类)、action
平台维度:
kpi:(指标)

创建ods库:注:ods=operate database store
创建dw库:dw=data warehouse 数据仓库
创建dm库: dm=date manipulation数据操作

命名规则:
库名_主题_表名
ods_user_addr_
ODS_USER_ADDR_(大小写均可,但最好小写)
ods.user.addr不行

事实表
create database if not exists dim;//纬度
create database if not exists ods;//操作数据库存储
create database if not exists dw;//数据仓库
create database if not exists dm;//数据操作

在维度库下面创建维度表:注:``字段带有特殊符号用这个解决,这里desc是关键字,所以用``
CREATE TABLE IF NOT EXISTS `dim_province` (
  `id` int,
  `province` string,
  `country_id` int,
  `desc` string
) 
row format delimited fields terminated by '\t'
;

CREATE TABLE IF NOT EXISTS `dim_city` (
  `id` int,
  `city` string,
  `desc` string
) 
row format delimited fields terminated by '\t'
;

CREATE TABLE IF NOT EXISTS `dim_province_city` (
  `dim_region_id` bigint,
  `dim_region_city_name` string,
  `dim_region_province_name` string,
  `dim_region_country_name` string,
  `dim_region_city_id` string,
  `dim_region_province_id` string,
  `dim_region_country_id` string,
  `dim_region_date` string
)
row format delimited fields terminated by '\t'
;


CREATE TABLE IF NOT EXISTS `dim_platform` (
  `id` int,
  `platform_name` string
)
row format delimited fields terminated by '\t'
;



CREATE TABLE IF NOT EXISTS `dim_kpi` (
  `id` in
  • 3
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值