(五)用户访问session分析:数据表设计
发布日期:2021-11-18 17:47:18
浏览次数:8
分类:技术文章
本文共 3106 字,大约阅读时间需要 10 分钟。
文章目录
本节课,是进入企业级大数据项目开发流程的数据设计环节。在进行完了数据调研、需求分析、技术实现方案,进行数据设计。数据设计,往往包含两个环节,第一个呢,就是说,我们的上游数据,就是数据调研环节看到的项目基于的基础数据,是否要针对其开发一些Hive ETL,对数据进行进一步的处理和转换,从而让我们能够更加方便的和快速的去计算和执行spark作业;第二个,就是要设计spark作业要保存结果数据的业务表的结构,从而让J2EE平台可以使用业务表中的数据,来为使用者展示任务执行结果。
在本项目中,我们所有的数据设计环节,只会涉及第二个,不会涉及第一个。因为我们为了突出课程重点,也就是spark。所以主要还是集中在spark上面,就不要花时间去做Hive ETL了。设计MySQL中的业务表的结构。第一表:session_aggr_stat表
存储第一个功能,session聚合统计的结果
CREATE TABLEsession_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 第二个表:session_random_extract表
存储我们的按时间比例随机抽取功能抽取出来的1000个session
CREATE TABLEsession_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 第三个表:top10_category表
存储按点击、下单和支付排序出来的top10品类数据
CREATE TABLEtop10_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 第四个表:top10_category_session表
存储top10每个品类的点击top10的session
CREATE TABLEtop10_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 最后一张表:session_detail
用来存储随机抽取出来的session的明细数据、top10品类的session的明细数据
CREATE TABLEsession_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 额外的一张表:task表,用来存储J2EE平台插入其中的任务的信息
CREATE TABLEtask
( 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 在数据设计以后,就正式进入一个漫长的环节,就是编码实现阶段,coding阶段。在编码实现阶段,每开发完一个功能,其实都会走后续的两个环节,就是本地测试和生产环境测试。
大家需要在windows上面,自己安装MySQL数据库。然后本地测试的时候,将数据插入本地的MySQL中。 接下来,就是在完成了数据调研、需求分析、技术方案设计、数据设计以后,正式进入编码实现和功能测试阶段。最后才是性能调优阶段。转载地址:https://blog.csdn.net/weixin_37850264/article/details/112209822 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
感谢大佬
[***.8.128.20]2024年03月22日 07时38分09秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
《朝贡贸易与仗剑经商》精髓:古代中国朝廷不保护商人,将中国商人置于西方势力的仗剑经商之下
2019-04-26
《华尔街之狼》精髓:摔倒并不是坏事,就怕你因此放弃。
2019-04-26
《微观动机与宏观行为》精髓:个人的微观动机,是如何影响宏观行为结果的?
2019-04-26
《周期》书中的精髓:如何利用周期,掌握世界的发展趋势,实现财富积累。
2019-04-26
《伟大的博弈》书中的精髓:华尔街是如何从一条小街,一步步发展为世界金融中心的。
2019-04-26
《逃不开的经济周期》书中的精髓:经济周期是推动创新变革和经济增长以及复兴的关键力量。
2019-04-26
《动物精神》书中的精髓:人类的非理性面影响经济决策,这些有可能是金融危机的根源。
2019-04-26
《巴菲特法则》书中的精髓:用好巴菲特企业前景投资法则,股票投资稳赚不赔。
2019-04-26
《战胜华尔街》书中的精髓:业余投资者如何根据行业特点选好股票,赚得比专业的投资者还要多?
2019-04-26
《股市稳赚》书中的精髓:用简单的神奇公式进行股票投资,获得稳定而持久的收益。
2019-04-26
作文提升~老师整理的优美比喻句太实用
2019-04-26
作文提升~老师整理的优美拟人句太实用
2019-04-26