zoukankan      html  css  js  c++  java
  • 大数据离线分析平台 需求分析(三)

    数据存储设计

    在本次项目中设计到数据存储的有三个地方:第一个就是将原始的日志数据按天保存到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

     

  • 相关阅读:
    2020年. NET Core面试题
    java Context namespace element 'component-scan' and its parser class ComponentScanBeanDefinitionParser are only available on JDK 1.5 and higher 解决方法
    vue 淡入淡出组件
    java http的get、post、post json参数的方法
    vue 父子组件通讯案例
    Vue 生产环境解决跨域问题
    npm run ERR! code ELIFECYCLE
    Android Studio 生成apk 出现 :error_prone_annotations.jar (com.google.errorprone:error) 错误
    记忆解析者芜青【总集】
    LwIP应用开发笔记之十:LwIP带操作系统基本移植
  • 原文地址:https://www.cnblogs.com/Transkai/p/10723345.html
Copyright © 2011-2022 走看看