大数据离线分析平台 需求分析(三)

数据存储设计

在本次项目中设计到数据存储的有三个地方:第一个就是将原始的日志数据按天保存到hdfs文件系统中;第二个就是将etl解析后的数据保存到hbase中;第三个就是将分析结果保存到mysql数据库中。其中存储到hbase和mysql的这两个过程需要设计具体的存储结构。

HBase表结构设计

 

由于我们需要按天进行数据分析,所以我们的hbase的rowkey中必须包含时间戳或者我们一天的数据就建立一个表。这里我们采用在rowkey中包含时间戳的方式来进行讲解;另外hbase要求列簇一般尽量的少而且短,我们这里采用log来标示列簇。所以最终我们创建一个单列簇的rowkey包含时间戳的eventlog表。命令如下:create 'eventlog', 'log'。rowkey设计规则为:timestamp+uuid.hashcode+random(4)

 

MySQL表结构设计

在mysql中我们采用维度信息表+统计分析结果表+分析辅助表三类表组成。其中维度信息表用于存储维度相关信息,名称格式为:dimension_*;统计分析结果表用户存储最终的统计分析结果,以dimension维度id做主健,名称格式为:stats_*;分析辅助表主要用户在分析过程中使用到的其他辅助类型表。

 

MySql维度信息表设计

根据我们最终统计的维度信息来看,我们分别需要创建以下八个维度表:平台维度(platform),时间维度(date),浏览器维度(browser),地域维度(location),支付方式维度(payment),货币类型维度(currency_type),event维度(event),外链维度(inbound)。另外还分别需要一个kpi维度和一个操作系统维度(os)表。注意os表在本次项目中不会用到。

 

最终统计分析模块和维度表关系

分析模块

相关维度表

用户基本信息分析

platform、date

浏览器信息分析

platform、date、browser

地域信息分析

platform、date、location

用户浏览深度分析

platform、date、kpi

外链信息分析

platform、date、inbound

订单信息分析

platform、date、currency_type、payment

事件分析

platform、date、event

MySql统计分析结果表设计

  我们最终需要进行七个模块的数据分析,这七个模块的展示数据最终是从我们的mysql数据库中获取的,那么接下来就分别从这七个模块来分析对应的mysql表结构设计。

 

用户基本信息分析模块表结构设计

用户基本信息分析模块中要求数据库对应表有以下几个维度的数据:新增用户数、活跃用户数、总用户数、新增会员数、活跃会员数、总会员数、会话个数、会话长度这八个统计指标,除此之外还需要platform和date这两个维度信息id以及created字段来标示修改时间。其中通过platform和date这两个字段信息来唯一确定表数据,设计表名为: stats_user。除了这个表以外,由于我们还需要统计分时段的数据信息,故还要求有一个分时存储统计数据的表,设计表名为:stats_hourly。

 

 

stats_user表结构

 

列名

类型

默认值

描述

platform_dimension_id

int(11)

非空,0

平台id,pkey

date_dimension_id

int(11)

非空,0

日期id,pkey

active_users

int(11)

空。0

活跃用户数

new_install_users

ing(11)

空,0

新增用户数

total_intall_users

int(11)

空,0

总用户数

sessions

int(11)

空,0

会话个数

sessions_length

int(11)

空,0

会话长度

total_members

int(11)

空,0

总会员数

active_members

int(11)

空,0

活跃会员数

new_members

int(11)

空,0

新增会员数

created

date

空,null

记录日期

浏览器信息分析模块表结构设计

  浏览器信息分析和用户基本信息分析基本类型,也包含以下几个维度的数据:新增用户数、活跃用户数、总用户数、新增会员数、活跃会员数、总会员数、会话个数、会话长度这八个统计指标,除此之外还需要一个pv计数的统计指标以及platform、date、browser这三个维度信息字段和create标示修改日期的字段。其中通过platform、date和browser这三个字段信息来唯一确定表数据。设计表名为: stats_device_browser

stats_device_browser表结构

列名

类型

默认值

描述

platform_dimension_id

int(11)

非空,0

平台id,pkey

date_dimension_id

int(11)

非空,0

日期id,pkey

browser_dimension_id

int(11)

非空,0

浏览器id,pkey

active_user

int(11)

空。0

活跃用户数

new_install_users

ing(11)

空,0

新增用户数

total_intall_users

int(11)

空,0

总用户数

sessions

int(11)

空,0

会话个数

sessions_length

int(11)

空,0

会话长度

total_members

int(11)

空,0

总会员数

active_members

int(11)

空,0

活跃会员数

new_members

int(11)

空,0

新增会员数

pv

int(11)

空,0

pv数

created

date

空,null

最后修改日期

地域信息分析模块表结构设计

  地域信息分析模块只分析活跃用户的地域分布情况以及跳出率相关分析,故需要以下几个统计指标:活跃用户数、会话个数、跳出会话个数。除此之外需要platform、date、location这三个维度信息字段和create标示修改日期的字段。其中通过platform、date和location这三个字段信息来唯一确定表数据。设计表名为: stats_device_location

stats_device_location表结构

列名

类型

默认值

描述

platform_dimension_id

int(11)

非空,0

平台id,pkey

date_dimension_id

int(11)

非空,0

日期id,pkey

location_dimension_id

int(11)

非空,0

地域id,pkey

active_user

int(11)

空。0

活跃用户数

sessions

int(11)

空,0

会话个数

bounce_sessions

int(11)

空,0

跳出会话个数

created

date

空,null

最后修改日期

用户浏览深度分析模块表结构设计

用户浏览深度我们通过计算访问不同数量页面的用户数/会话数来表示,在本次项目中我们分为8个不同数量级的指标,分别为:访问1个pv、访问2个pv、访问3个pv、访问4个pv,访问5-10个pv(包含5但不包含10),访问10-30个pv,访问30-60个pv,访问60+pv。除此之外需要platform、date、kpi这三个维度信息字段和create标示修改日期的字段。其中通过platform、date和kpi这三个字段信息来唯一确定表数据。设计表名为: stats_view_depth

stats_view_depth表结构

 

列名

类型

默认值

描述

platform_dimension_id

int(11)

非空,0

平台id,pkey

date_dimension_id

int(11)

非空,0

日期id,pkey

kpi_dimension_id

int(11)

非空,0

kpiid,pkey

pv1

int(11)

空。0

只访问一个页面的数量

pv2

int(11)

空,0

访问两个页面

pv3

int(11)

空,0

访问三个页面

pv4

int(11)

空,0

访问四个页面

pv5_10

int(11)

空,0

访问[5,10)个页面

pv10_30

int(11)

空,0

访问[10,30)个页面

pv30_60

int(11)

空,0

访问[30,60)个页面

pv60+

int(11)

空,0

访问[60,..)个页面

created

date

空,null

最后修改日期

外链信息分析模块表结构设计

外链信息分析主要包括外链构成(偏好)分析和跳出率分析。其中外链构成(偏好)我们通过活跃用户数来标示,需要我们需要几下几个统计指标:活跃用户数、会话个数、跳出会话个数。除此之外需要platform、date、inbound这三个维度信息字段和create标示修改日期的字段。其中通过platform、date和inbound这三个字段信息来唯一确定表数据。设计表名为: stats_inbound

stats_inbound表结构

列名

类型

默认值

描述

platform_dimension_id

int(11)

非空,0

平台id,pkey

date_dimension_id

int(11)

非空,0

日期id,pkey

inbound_dimension_id

int(11)

非空,0

外链id,pkey

active_user

int(11)

空。0

活跃用户数

sessions

int(11)

空,0

会话个数

bounce_sessions

int(11)

空,0

跳出会话个数

created

date

空,null

最后修改日期

订单信息分析模块表结构设计

订单信息分析需要分析订单数量和订单金额相关统计信息,故需要以下几个指标的数据分析:订单数量、成功支付的订单数量、退款订单数量、订单金额、成功支付金额、退款金额、总成功支付金额、总退款金额。除此之外,我们还需要使用platform、date、currency_type和payment四个维度字段类表示确认唯一记录。另外需要添加一个created字段来表示数据日期。表名设计为:stats_order

stats_order表结构

列名

类型

默认值

描述

platform_dimension_id

int(11)

非空,0

平台id,pkey

date_dimension_id

int(11)

非空,0

日期id,pkey

currency_type_dimension_id

int(11)

非空,0

货币类型id,pkey

payment_type_dimension_id

int(11)

非空,0

支付类型id,pkey

orders

int(11)

空,0

订单数量

success_orders

int(11)

空,0

成功支付的订单数量

refund_orders

int(11)

空,0

退款的订单数量

order_amount

int(11)

空,0

订单金额

revenue_amount

int(11)

空,0

支付金额

refund_amount

int(11)

空,0

退款金额

total_revenue_amount

int(11)

空,0

总的支付金额

total_refund_amount

int(11)

空,0

总的退款金额

created

date

空,null

最后修改日期

事件分析模块表结构设计

在本次项目中,事件分析主要就是分析事件的触发次数,故对于的数据存储结构为:times(触发次数)以及platform、date、event三个维度字段和created字段,表名设计为:stats_event

stats_event表结构

列名

类型

默认值

描述

platform_dimension_id

int(11)

非空,0

平台id,pkey

date_dimension_id

int(11)

非空,0

日期id,pkey

event_dimension_id

int(11)

非空,0

event维度id,pkey

times

int(11)

空。0

触发次数

created

date

空,null

最后修改日期

MySql表结构设计总述

  我们通过维度信息表和统计分析结果表的整合来保证我们数据展示的正常性

mysql的sql导入文件如下:

大数据离线分析平台  需求分析(三)大数据离线分析平台  需求分析(三)
# Host: localhost  (Version: 5.5.40)
# Date: 2015-12-06 22:29:08
# Generator: MySQL-Front 5.3  (Build 4.120)

/*!40101 SET NAMES utf8 */;

#
# Structure for table "dimension_browser"
#

DROP TABLE IF EXISTS `dimension_browser`;
CREATE TABLE `dimension_browser` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `browser_name` varchar(45) NOT NULL DEFAULT '' COMMENT '浏览器名称',
  `browser_version` varchar(255) NOT NULL DEFAULT '' COMMENT '浏览器版本号',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT COMMENT='浏览器维度信息表';

#
# Structure for table "dimension_currency_type"
#

DROP TABLE IF EXISTS `dimension_currency_type`;
CREATE TABLE `dimension_currency_type` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `currency_name` varchar(10) DEFAULT NULL COMMENT '货币名称',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT COMMENT='支付货币类型维度信息表';

#
# Structure for table "dimension_date"
#

DROP TABLE IF EXISTS `dimension_date`;
CREATE TABLE `dimension_date` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `year` int(11) DEFAULT NULL,
  `season` int(11) DEFAULT NULL,
  `month` int(11) DEFAULT NULL,
  `week` int(11) DEFAULT NULL,
  `day` int(11) DEFAULT NULL,
  `calendar` date DEFAULT NULL,
  `type` enum('year','season','month','week','day') DEFAULT NULL COMMENT '日期格式',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT COMMENT='时间维度信息表';

#
# Structure for table "dimension_event"
#

DROP TABLE IF EXISTS `dimension_event`;
CREATE TABLE `dimension_event` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `category` varchar(255) DEFAULT NULL COMMENT '事件种类category',
  `action` varchar(255) DEFAULT NULL COMMENT '事件action名称',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT COMMENT='事件维度信息表';

#
# Structure for table "dimension_inbound"
#

DROP TABLE IF EXISTS `dimension_inbound`;
CREATE TABLE `dimension_inbound` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `parent_id` int(11) DEFAULT NULL COMMENT '父级外链id',
  `name` varchar(45) DEFAULT NULL COMMENT '外链名称',
  `url` varchar(255) DEFAULT NULL COMMENT '外链url',
  `type` int(11) DEFAULT NULL COMMENT '外链类型',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT COMMENT='外链源数据维度信息表';

#
# Structure for table "dimension_kpi"
#

DROP TABLE IF EXISTS `dimension_kpi`;
CREATE TABLE `dimension_kpi` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `kpi_name` varchar(45) DEFAULT NULL COMMENT 'kpi维度名称',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT COMMENT='kpi维度相关信息表';

#
# Structure for table "dimension_location"
#

DROP TABLE IF EXISTS `dimension_location`;
CREATE TABLE `dimension_location` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `country` varchar(45) DEFAULT NULL COMMENT '国家名称',
  `province` varchar(45) DEFAULT NULL COMMENT '省份名称',
  `city` varchar(45) DEFAULT NULL COMMENT '城市名称',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT COMMENT='地域信息维度表';

#
# Structure for table "dimension_os"
#

DROP TABLE IF EXISTS `dimension_os`;
CREATE TABLE `dimension_os` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `os_name` varchar(45) NOT NULL DEFAULT '' COMMENT '操作系统名称',
  `os_version` varchar(45) NOT NULL DEFAULT '' COMMENT '操作系统版本号',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT COMMENT='操作系统信息维度表';

#
# Structure for table "dimension_payment_type"
#

DROP TABLE IF EXISTS `dimension_payment_type`;
CREATE TABLE `dimension_payment_type` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `payment_type` varchar(255) DEFAULT NULL COMMENT '支付方式名称',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT COMMENT='支付方式维度信息表';

#
# Structure for table "dimension_platform"
#

DROP TABLE IF EXISTS `dimension_platform`;
CREATE TABLE `dimension_platform` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `platform_name` varchar(45) DEFAULT NULL COMMENT '平台名称',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT COMMENT='平台维度信息表';

#
# Structure for table "event_info"
#

DROP TABLE IF EXISTS `event_info`;
CREATE TABLE `event_info` (
  `event_dimension_id` int(11) NOT NULL DEFAULT '0',
  `key` varchar(255) DEFAULT NULL,
  `value` varchar(255) DEFAULT NULL,
  `times` int(11) DEFAULT '0' COMMENT '触发次数',
  PRIMARY KEY (`event_dimension_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='描述event的属性信息,在本次项目中不会用到';

#
# Structure for table "order_info"
#

DROP TABLE IF EXISTS `order_info`;
CREATE TABLE `order_info` (
  `order_id` varchar(50) NOT NULL DEFAULT '',
  `date_dimension_id` int(11) NOT NULL DEFAULT '0',
  `amount` int(11) NOT NULL DEFAULT '0' COMMENT '订单金额',
  `is_pay` int(1) DEFAULT '0' COMMENT '表示是否支付,0表示未支付,1表示支付',
  `is_refund` int(1) DEFAULT '0' COMMENT '表示是否退款,0表示未退款,1表示退款',
  PRIMARY KEY (`order_id`,`date_dimension_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='描述订单的相关信息,该table在本次项目中的主要目标就是为了去重数据';

#
# Structure for table "stats_device_browser"
#

DROP TABLE IF EXISTS `stats_device_browser`;
CREATE TABLE `stats_device_browser` (
  `date_dimension_id` int(11) NOT NULL,
  `platform_dimension_id` int(11) NOT NULL,
  `browser_dimension_id` int(11) NOT NULL DEFAULT '0',
  `active_users` int(11) DEFAULT '0' COMMENT '活跃用户数',
  `new_install_users` int(11) DEFAULT '0' COMMENT '新增用户数',
  `total_install_users` int(11) DEFAULT '0' COMMENT '总用户数',
  `sessions` int(11) DEFAULT '0' COMMENT '会话个数',
  `sessions_length` int(11) DEFAULT '0' COMMENT '会话长度',
  `total_members` int(11) unsigned DEFAULT '0' COMMENT '总会员数',
  `active_members` int(11) unsigned DEFAULT '0' COMMENT '活跃会员数',
  `new_members` int(11) unsigned DEFAULT '0' COMMENT '新增会员数',
  `pv` int(11) DEFAULT '0' COMMENT 'pv数',
  `created` date DEFAULT NULL,
  PRIMARY KEY (`platform_dimension_id`,`date_dimension_id`,`browser_dimension_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT COMMENT='统计浏览器相关分析数据的统计表';

#
# Structure for table "stats_device_location"
#

DROP TABLE IF EXISTS `stats_device_location`;
CREATE TABLE `stats_device_location` (
  `date_dimension_id` int(11) NOT NULL,
  `platform_dimension_id` int(11) NOT NULL,
  `location_dimension_id` int(11) NOT NULL DEFAULT '0',
  `active_users` int(11) DEFAULT '0' COMMENT '活跃用户数',
  `sessions` int(11) DEFAULT '0' COMMENT '会话个数',
  `bounce_sessions` int(11) DEFAULT '0' COMMENT '跳出会话个数',
  `created` date DEFAULT NULL,
  PRIMARY KEY (`platform_dimension_id`,`date_dimension_id`,`location_dimension_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT COMMENT='统计地域相关分析数据的统计表';

#
# Structure for table "stats_event"
#

DROP TABLE IF EXISTS `stats_event`;
CREATE TABLE `stats_event` (
  `platform_dimension_id` int(11) NOT NULL DEFAULT '0',
  `date_dimension_id` int(11) NOT NULL DEFAULT '0',
  `event_dimension_id` int(11) NOT NULL DEFAULT '0',
  `times` int(11) DEFAULT '0' COMMENT '触发次数',
  `created` date DEFAULT NULL,
  PRIMARY KEY (`platform_dimension_id`,`date_dimension_id`,`event_dimension_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='统计事件相关分析数据的统计表';

#
# Structure for table "stats_hourly"
#

DROP TABLE IF EXISTS `stats_hourly`;
CREATE TABLE `stats_hourly` (
  `platform_dimension_id` int(11) NOT NULL,
  `date_dimension_id` int(11) NOT NULL,
  `kpi_dimension_id` int(11) NOT NULL,
  `hour_00` int(11) DEFAULT '0',
  `hour_01` int(11) DEFAULT '0',
  `hour_02` int(11) DEFAULT '0',
  `hour_03` int(11) DEFAULT '0',
  `hour_04` int(11) DEFAULT '0',
  `hour_05` int(11) DEFAULT '0',
  `hour_06` int(11) DEFAULT '0',
  `hour_07` int(11) DEFAULT '0',
  `hour_08` int(11) DEFAULT '0',
  `hour_09` int(11) DEFAULT '0',
  `hour_10` int(11) DEFAULT '0',
  `hour_11` int(11) DEFAULT '0',
  `hour_12` int(11) DEFAULT '0',
  `hour_13` int(11) DEFAULT '0',
  `hour_14` int(11) DEFAULT '0',
  `hour_15` int(11) DEFAULT '0',
  `hour_16` int(11) DEFAULT '0',
  `hour_17` int(11) DEFAULT '0',
  `hour_18` int(11) DEFAULT '0',
  `hour_19` int(11) DEFAULT '0',
  `hour_20` int(11) DEFAULT '0',
  `hour_21` int(11) DEFAULT '0',
  `hour_22` int(11) DEFAULT '0',
  `hour_23` int(11) DEFAULT '0',
  `created` date DEFAULT NULL,
  PRIMARY KEY (`platform_dimension_id`,`date_dimension_id`,`kpi_dimension_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT COMMENT='按小时统计信息的统计表';

#
# Structure for table "stats_inbound"
#

DROP TABLE IF EXISTS `stats_inbound`;
CREATE TABLE `stats_inbound` (
  `platform_dimension_id` int(11) NOT NULL DEFAULT '0',
  `date_dimension_id` int(11) NOT NULL,
  `inbound_dimension_id` int(11) NOT NULL,
  `active_users` int(11) DEFAULT '0' COMMENT '活跃用户数',
  `sessions` int(11) DEFAULT '0' COMMENT '会话个数',
  `bounce_sessions` int(11) DEFAULT '0' COMMENT '跳出会话个数',
  `created` date DEFAULT NULL,
  PRIMARY KEY (`platform_dimension_id`,`date_dimension_id`,`inbound_dimension_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT COMMENT='统计外链信息的统计表';

#
# Structure for table "stats_order"
#

DROP TABLE IF EXISTS `stats_order`;
CREATE TABLE `stats_order` (
  `platform_dimension_id` int(11) NOT NULL DEFAULT '0',
  `date_dimension_id` int(11) NOT NULL DEFAULT '0',
  `currency_type_dimension_id` int(11) NOT NULL DEFAULT '0',
  `payment_type_dimension_id` int(11) NOT NULL DEFAULT '0',
  `orders` int(11) DEFAULT '0' COMMENT '订单个数',
  `success_orders` int(11) DEFAULT '0' COMMENT '成功支付的订单个数',
  `refund_orders` int(11) DEFAULT '0' COMMENT '退款订单个数',
  `order_amount` int(11) DEFAULT '0' COMMENT '订单金额',
  `revenue_amount` int(11) DEFAULT '0' COMMENT '收入金额,也就是成功支付过的金额',
  `refund_amount` int(11) DEFAULT '0' COMMENT '退款金额',
  `total_revenue_amount` int(11) DEFAULT '0' COMMENT '迄今为止,总的订单交易额',
  `total_refund_amount` int(11) DEFAULT '0' COMMENT '迄今为止,总的退款金额',
  `created` date DEFAULT NULL,
  PRIMARY KEY (`platform_dimension_id`,`date_dimension_id`,`currency_type_dimension_id`,`payment_type_dimension_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='统计订单信息的统计表';

#
# Structure for table "stats_user"
#

DROP TABLE IF EXISTS `stats_user`;
CREATE TABLE `stats_user` (
  `date_dimension_id` int(11) NOT NULL,
  `platform_dimension_id` int(11) NOT NULL,
  `active_users` int(11) DEFAULT '0' COMMENT '活跃用户数',
  `new_install_users` int(11) DEFAULT '0' COMMENT '新增用户数',
  `total_install_users` int(11) DEFAULT '0' COMMENT '总用户数',
  `sessions` int(11) DEFAULT '0' COMMENT '会话个数',
  `sessions_length` int(11) DEFAULT '0' COMMENT '会话长度',
  `total_members` int(11) unsigned DEFAULT '0' COMMENT '总会员数',
  `active_members` int(11) unsigned DEFAULT '0' COMMENT '活跃会员数',
  `new_members` int(11) unsigned DEFAULT '0' COMMENT '新增会员数',
  `created` date DEFAULT NULL,
  PRIMARY KEY (`platform_dimension_id`,`date_dimension_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT COMMENT='统计用户基本信息的统计表';

#
# Structure for table "stats_view_depth"
#

DROP TABLE IF EXISTS `stats_view_depth`;
CREATE TABLE `stats_view_depth` (
  `platform_dimension_id` int(11) NOT NULL DEFAULT '0',
  `data_dimension_id` int(11) NOT NULL DEFAULT '0',
  `kpi_dimension_id` int(11) NOT NULL DEFAULT '0',
  `pv1` int(11) DEFAULT '0',
  `pv2` int(11) DEFAULT '0',
  `pv3` int(11) DEFAULT '0',
  `pv4` int(11) DEFAULT '0',
  `pv5_10` int(11) DEFAULT '0',
  `pv10_30` int(11) DEFAULT '0',
  `pv30_60` int(11) DEFAULT '0',
  `pv60+` int(11) DEFAULT '0',
  `created` date DEFAULT NULL,
  PRIMARY KEY (`platform_dimension_id`,`data_dimension_id`,`kpi_dimension_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='统计用户浏览深度相关分析数据的统计表';
report.sql

 

 

上一篇:ios、安卓前端兼容性


下一篇:CSP 小明种苹果(续)201909-2