Spark电商平台数据分析之 基础数据结构分析 以及业务流程5
表结构
以下表结构均为简化版,仅仅为了实现项目结构而来,可以实现业务逻辑即可
表名: user_visit_action Hive表
表名 | user_visit_action |
---|---|
date | 日期,代表这个用户点击行为 日子 |
userid | 用户 |
session_id | 唯一标示 sessionId |
action_time | 点击行为发生的时间点 |
page_id | 点击某个商品 页面id |
search_keyword | 搜索关键词 |
click_category_id | 点击品类(食品、电脑) |
click_product_id | 某个商品id |
order_category_ids | 代表商品加入购物车,比如6个商品但是商品对应的品类只有2个 |
order_product_ids | 某次下单,具体对商品下的订单 |
pay_category_ids | 某个订单,某几个订单,进行了一次支付,对应哪些品类 |
pay_product_ids | 支付行为下,对应哪些具体商品 |
user_visit_action表,其实就是放,比如说网站,或者是app,每天的点击流的数据。可以理解为,用户对网站/app每点击一下,就会代表在这个表里面的一条数据。
表名: user_info表 Hive表
表名 | user_info |
---|---|
user_id | 通常是long类型,用户唯一标识 |
username | 用户登录名称 |
name | 每个用户自己昵称 |
age | 年龄 |
professional | 职业 |
city | 用户所在城市 |
userinfo表,实际上普通用户信息表,省略掉很多基本信息
表名: task表 mysql表
表名 | task |
---|---|
task_id | 主键 |
taskname | 任务名称 |
create_time | 创建时间 |
start_time | 开始运行时间 |
finish_time | 结束运行时间 |
task_type | 任务类型;各种分析任务,比如session分析任务,页面单跳转化率统计任务 |
task_status | 任务状态;新建、正在运行、已完毕 |
task_param | 使用的json格式,封装用户提交任务对应特殊筛选参数 |
task表,其实是用来保存平台的使用者,通过J2EE系统,提交的基于特定筛选参数的分析任务,的信息,就会通过J2EE系统保存到task表中来。之所以使用MySQL表,是因为J2EE系统是要实现快速的实时插入和查询的。
业务流程
重点掌握
需要掌握spark 编写作业程序,spark-submit脚本;数据表的设计;spark从mysql表中读取任务参数,执行作业逻辑,持久化作业结果数据。