# ECUB **Repository Path**: yesir_11/ECUB ## Basic Information - **Project Name**: ECUB - **Description**: Spark结课项目专用仓库。 基于Spark的电商平台用户行为分析设计与实现, 对模拟数据进行离线处理分析和实时处理分析。 - **Primary Language**: Scala - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2023-05-27 - **Last Updated**: 2024-01-04 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ### 基于Spark的电商平台用户行为分析设计与实现 - ECUB(E-commerce User Behavior Analytics System) ### 实现技术 - Spark Core - Spark SQL - Spark Steaming ### 开发语言 - Kafka ### 数据格式 每行数据采用空格分隔数据。每一行数据表示用户的一次行为。 date user_id session_id page_id action_time search_keyword click_category_id click_product_id order_category_ids order_product_ids pay_category_ids pay_product_ids score city_id ### 数据字段说明 |编号 | 字段名称 | 字段类型 | 字段含义 | |----|------|------|------| |1 |timestamp |String |时间戳 |2 |user_id |Long |用户的 ID |3 |session_id |String |Session 的 ID |4 |page_id |Long |某个页面的 ID |5 |action_time |String |动作的时间点 |6 |search_keyword |String |用户搜索的关键词,如果搜索关键字为 null,表示数据不是搜索数据 |7 |click_category_id |Long |用户点击某一个品类的 ID,如果点击的品类 ID 为-1,表示数据不是点击数据 |8 |click_product_id |Long |用户点击某一个商品的 ID,如果点击的商品 ID 为-1,表示数据不是点击数据 |9 |order_category_ids |String |订单品类,一次订单中所有品类的 ID 集合。一次可以订单多个品类,所以品类 ID 可以是多个,id 之间采用逗号分隔,如果本次不是订单行为,则数据采用 null 表示。 |10 |order_product_ids |String |订单商品,一次订单中所有商品的 ID 集合。一次可以订单多个商品,所以商品 ID 可以是多个,id 之间采用逗号分隔,如果本次不是订单行为,则数据采用 null 表示。 |11 |pay_category_ids |String |支付品类,一次支付中所有品类的 ID 集合。一次可以支付多个品类,所以品类 ID 可以是多个,id 之间采用逗号分隔,如果本次不是支付行为,则数据采用 null 表示。 |12 |pay_product_ids |String |支付商品,一次支付中所有商品的 ID 集合。一次可以支付多个商品,所以商品 ID 可以是多个,id 之间采用逗号分隔,如果本次不是支付行为,则数据采用 null 表示。 |13 |score|Long |用户评分行为,存放评分分值 |14 |city_id |Long |城市 id ### 项目功能 1. Top10 热门品类 统计每个品类点击的次数,下单的次数和支付的次数。先按照点击数排名,靠前的就排名高;如果点击数相同,再比较下单数;下单数再相同,就比较支付数。 2. Top10 热门品类中每个品类的 Top10 活跃 Session 统计 在需求一的基础上,增加每个品类用户 session 的点击统计。 3. 统计用户在指定页面之间的单跳转化率 计算页面单跳转化率,什么是页面单跳转换率,比如一个用户在一次 Session 过程中访问的页面路径 3,5,7,9,10,21,那么页面 3 跳到页面 5 叫一次单跳,7-9 也叫一次单跳, 那么单跳转化率就是要统计页面点击的概率。 4. 各区域热门商品 Top3各区域热门商品 Top3 这里的热门商品是从点击量的维度来看的,计算各个区域前三大热门商品,并备注上每个商品在主要城市中的分布比例,超过两个城市用其他显示。 5. 广告黑名单实时统计 实现实时的动态黑名单机制:将每天对某个广告点击超过 100 次的用户拉黑。并将黑名单保存到MySQL 中。 6. 广告点击量实时统计 实时统计每天各地区各城市各广告的点击总流量,并将其存入MySQL。 7. 最近 1 小时广告点击量实时统计 实时统计每天各地区各城市各广告的最近一小时的点击总流量,并将其存入MySQL。 8. 用户品类点击量实时统计 实时统计每个用户对每个品类的点击量 9. 用户商品点击量实时统计 实时统计每个用户对每个商品的点击量 10. ALS离线数据推荐 给所有用户推荐3个品类 给所有品类推荐3个用户 给指定用户推荐3个品类 给指定品类推荐3个用户 11. 实时检测用户活跃时间点 间隔一定时间对用户发生用户行为的数量进行统计 12. 实时统计最近一小时品类点击量 13. 实时统计最近一小时商品点击量