博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Spark项目之电商用户行为分析大数据平台之(九)表的设计
阅读量:7087 次
发布时间:2019-06-28

本文共 2921 字,大约阅读时间需要 9 分钟。

一、概述

数据设计,往往包含两个环节:

第一个:就是我们的上游数据,就是数据调研环节看到的项目基于的基础数据,是否要针对其开发一些Hive ETL,对数据进行进一步的处理和转换,从而让我们能够更加方便的和快速的去计算和执行spark作业;

第二个:就是要设计spark作业要保存结果数据的业务表的结构,从而让J2EE平台可以使用业务表中的数据,来为使用者展示任务执行结果。

二、MySQL表设计

2.1 session_aggr_stat表

存储第一个功能,session聚合统计的结果

CREATE TABLE `session_aggr_stat` (  `task_id` int(11) NOT NULL,  `session_count` int(11) DEFAULT NULL,  `1s_3s` double DEFAULT NULL,  `4s_6s` double DEFAULT NULL,  `7s_9s` double DEFAULT NULL,  `10s_30s` double DEFAULT NULL,  `30s_60s` double DEFAULT NULL,  `1m_3m` double DEFAULT NULL,  `3m_10m` double DEFAULT NULL,  `10m_30m` double DEFAULT NULL,  `30m` double DEFAULT NULL,  `1_3` double DEFAULT NULL,  `4_6` double DEFAULT NULL,  `7_9` double DEFAULT NULL,  `10_30` double DEFAULT NULL,  `30_60` double DEFAULT NULL,  `60` double DEFAULT NULL,  PRIMARY KEY (`task_id`)) ENGINE=InnoDB DEFAULT CHARSET=utf8

2.2 session_random_extract表

存储我们的按时间比例随机抽取功能抽取出来的1000个session

CREATE TABLE `session_random_extract` (  `task_id` int(11) NOT NULL,  `session_id` varchar(255) DEFAULT NULL,  `start_time` varchar(50) DEFAULT NULL,  `end_time` varchar(50) DEFAULT NULL,  `search_keywords` varchar(255) DEFAULT NULL,  PRIMARY KEY (`task_id`)) ENGINE=InnoDB DEFAULT CHARSET=utf8

2.3 top10_category表

存储按点击、下单和支付排序出来的top10品类数据

CREATE TABLE `top10_category` (  `task_id` int(11) NOT NULL,  `category_id` int(11) DEFAULT NULL,  `click_count` int(11) DEFAULT NULL,  `order_count` int(11) DEFAULT NULL,  `pay_count` int(11) DEFAULT NULL,  PRIMARY KEY (`task_id`)) ENGINE=InnoDB DEFAULT CHARSET=utf8

2.4 top10_category_session表

存储top10每个品类的点击top10的session

CREATE TABLE `top10_category_session` (  `task_id` int(11) NO NULL,  `category_id` int(11) DEFAULT NULL,  `session_id` varchar(255) DEFAULT NULL,  `click_count` int(11) DEFAULT NULL,  PRIMARY KEY (`task_id`)) ENGINE=InnoDB DEFAULT CHARSET=utf8

2.5 session_detail

用来存储随机抽取出来的session的明细数据、top10品类的session的明细数据

CREATE TABLE `session_detail` (  `task_id` int(11) NOT NULL,  `user_id` int(11) DEFAULT NULL,  `session_id` varchar(255) DEFAULT NULL,  `page_id` int(11) DEFAULT NULL,  `action_time` varchar(255) DEFAULT NULL,  `search_keyword` varchar(255) DEFAULT NULL,  `click_category_id` int(11) DEFAULT NULL,  `click_product_id` int(11) DEFAULT NULL,  `order_category_ids` varchar(255) DEFAULT NULL,  `order_product_ids` varchar(255) DEFAULT NULL,  `pay_category_ids` varchar(255) DEFAULT NULL,  `pay_product_ids` varchar(255) DEFAULT NULL,  PRIMARY KEY (`task_id`)) ENGINE=InnoDB DEFAULT CHARSET=utf8

2.6 task表

用来存储J2EE平台插入其中的任务的信息

CREATE TABLE `task` (  `task_id` int(11) NOT NULL AUTO_INCREMENT,  `task_name` varchar(255) DEFAULT NULL,  `create_time` varchar(255) DEFAULT NULL,  `start_time` varchar(255) DEFAULT NULL,  `finish_time` varchar(255) DEFAULT NULL,  `task_type` varchar(255) DEFAULT NULL,  `task_status` varchar(255) DEFAULT NULL,  `task_param` text,  PRIMARY KEY (`task_id`)) ENGINE=InnoDB AUTO_INCREMENT=0 DEFAULT CHARSET=utf8

 

转载地址:http://sigml.baihongyu.com/

你可能感兴趣的文章
FullScreenAnimations
查看>>
nfs的安装和配置
查看>>
SQL注入漏洞全接触--进阶篇
查看>>
android的Menu使用
查看>>
cacti install
查看>>
Cisco模拟器GNS3和虚拟机VMware的整合
查看>>
Hyper-v 基本使用方法
查看>>
intotify+heartbeat+rsync实现samba的双机集群方案
查看>>
Linux 数据重定向
查看>>
android framebuffer
查看>>
年轻群体当道,哈弗F7如何赢得芳心?
查看>>
WebView注入Java对象注意事项
查看>>
libxml/HTMLparser.h file not found 解决方法
查看>>
实现局域网内单个ip断网
查看>>
vs code和node的相关使用 一一 bower 管理文件
查看>>
项目2 数据库表设计
查看>>
nagios 监控
查看>>
本地连接腾讯云linux服务器上的mysql,连接不上问题解决
查看>>
Office 365 系列之五:创建新用户
查看>>
无法在Chrome浏览器中查看SCCM ***S报告
查看>>