【大数据学习篇8】 热门品类Top10分析(上)

本文涉及的产品
云原生大数据计算服务 MaxCompute,5000CU*H 100GB 3个月
云原生大数据计算服务MaxCompute,500CU*H 100GB 3个月
简介: 【大数据学习篇8】 热门品类Top10分析

在HBase命令行工具中执行“list”命令,查看HBase数据库中的所有数据表。学习目标/Target

掌握热门品类Top10分析实现思路


掌握如何创建Spark连接并读取数据集


掌握利用Spark获取业务数据


掌握利用Spark统计品类的行为类型


掌握利用Spark过滤品类的行为类型


掌握利用Spark合并相同品类的行为类型


掌握利用Spark根据品类的行为类型进行排序


掌握将数据持久化到HBase数据库


熟悉通过Spark On YARN运行程序


概述

品类指商品所属分类,用户在访问电商网站时,通常会产生很多行为,例如查看商品的信息、将感兴趣的商品加入购物车和购买商品等,这些行为都将作为数据被网站存储。本章我们将通过对电商网站存储的用户行为数据进行分析,从而统计出排名前10的热门品类。


1. 数据集分析

某电商网站2019年11月产生的用户行为数据存储在文件user_session.txt,该文件中的每一行数据都表示一个用户行为。


{"user_session":"0000007c-adbf-4ed7-af17-d1fef9763d67","event_type":"view","category_id":"2053013553090134275", "user_id":"560165420","product_id":"8900305","address_name":"Maryland","event_time":"2019-11-18 09:16:19"}


user_session:用于标识用户行为的唯一值。


event_type:表示用户行为的类型,包括view(查看)、cart(加入购物车)和purchase(购买)行为。


category_id:表示商品品类ID。


user_id:表示用户ID。


product_id:表示商品ID。


address_name:表示产生事件的区域。


event_time:表示产生事件的具体时间。


2. 实现思路分析

             

dfad1561e156446fb74a441d1df225be.png

分别统计各个品类商品的查看次数、 加入购物车次数以及购买次数。


c04cccd5cb874e539c14088a396bbc88.png


将同一品类中商品的查看、加入购物车 以及购买次数进行合并。


        c22c45626b2f45cfac45467bb9cae971.png


       自定义排序规则按照各个品类中商品的查看、 加入购物车和购买次数进行降序排序,获取 排名前10的品类,就是热门品类Top10。排 序时,优先按照各个品类商品的查看次数降 序排列,如果查看次数相同,则按照各个品 类商品的加入购物车次数进行降序排列。如 果查看次数和加入购车次数都相同,那么按 照各品类商品的购买次数进行降序排列。


    7d0c3f638cba492092f3d5d18c10e026.png


将同一品类中商品的查看、加入购物车和 购买次数映射到自定义排序规则中进行排 序处理。        


eebef546344d4cab976637e8d2318b0f.png

bbd95cf0801740a4b4109b1a5576ebb0.png


       读取数据集中的行为类型(event_type)和品类ID(category_id)数据,为了便于后续聚合处理时,将相同Key的Value值进行累加,计算每个品类中不同行为出现的总次数,这里需要对输出结果的数据格式进行转换处理,将行为类型和品类ID作为Key,值1作为Value。


统计各个品类的查看、加入购物车和购买次数。


       将聚合结果进行过滤处理,并分为三部分数据,分别是各个品类查看次数、各个品类加入购物车次数和各个品类购买次数。对过滤后的三部分数据进行转换处理,去除数据中的行为类型字段。此步目的是为了后续合并操作时,明确同一品类中不同行为类型所处位置。


       将Key值相同的Value进行合并处理,目的是为了将相同品类的查看次数、加入购物车次数和购买次数合并到一行。


        对每个品类中查看次数(viewcount)、加入购物车次数(cartcount)和购买次数(purchasecount)进行排序处理,在排序过程会涉及三类值的排序,因此这里需要使用Spark的二次排序,在排序操作时使用自定义排序的方式进行处理。


3. 实现热门品类Top10

3.1 创建项目

 本项目在Windows环境下通过IntelliJ IDEA工具构建Maven项目实现,需要提前在Windows环境下安装JDK1.8环境。

361368cc507c4112815832b60706be84.png

创建Maven项目


打开IntelliJ IDEA开发工具进入IntelliJ IDEA欢迎界面。


eb61e4cff0204016a403843112c6363e.png


       在IntelliJ IDEA欢迎界面单击下拉框“Configure”,依次选择“Project Defaults”→“Project Structure”选项,配置项目使用的JDK。


ab950450249b4ef8a61fb0c19464bd93.png


配置Maven项目的组织名(GroupId)和项目工程名(ArtifactId)。


84b254c8f1a34ec69e921ae6909f6788.png


配置项目名称(Project name)和项目本地的存放目录(Project location)。


f8c02d94febc40ed9240d5821d27b1d8.png


Maven项目创建完成后的目录结构。


3b1670c378974095bbee99cac29977d6.png


导入依赖


       在项目pom.xml文件中添加如下配置内容: 对项目中Netty依赖进行多版本管理,避免本地运行出现多个版本的Netty导致程序出现NoSuchMethodError异常。 引入JSON依赖,用于解析JSON数据。 引入HBase依赖,用于操作HBase数据库。 引入Spark依赖,用于开发Spark数据分析程序。 指定Maven编译的JDK版本。 配置程序打包方式并指定程序主类。


相关实践学习
基于MaxCompute的热门话题分析
本实验围绕社交用户发布的文章做了详尽的分析,通过分析能得到用户群体年龄分布,性别分布,地理位置分布,以及热门话题的热度。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps 
目录
相关文章
|
17天前
|
存储 机器学习/深度学习 SQL
大数据处理与分析技术
大数据处理与分析技术
62 2
|
6天前
|
机器学习/深度学习 存储 大数据
在大数据时代,高维数据处理成为难题,主成分分析(PCA)作为一种有效的数据降维技术,通过线性变换将数据投影到新的坐标系
在大数据时代,高维数据处理成为难题,主成分分析(PCA)作为一种有效的数据降维技术,通过线性变换将数据投影到新的坐标系,保留最大方差信息,实现数据压缩、去噪及可视化。本文详解PCA原理、步骤及其Python实现,探讨其在图像压缩、特征提取等领域的应用,并指出使用时的注意事项,旨在帮助读者掌握这一强大工具。
23 4
|
8天前
|
机器学习/深度学习 分布式计算 算法
【大数据分析&机器学习】分布式机器学习
本文主要介绍分布式机器学习基础知识,并介绍主流的分布式机器学习框架,结合实例介绍一些机器学习算法。
59 5
|
19天前
|
存储 监控 数据挖掘
【Clikhouse 探秘】ClickHouse 物化视图:加速大数据分析的新利器
ClickHouse 的物化视图是一种特殊表,通过预先计算并存储查询结果,显著提高查询性能,减少资源消耗,适用于实时报表、日志分析、用户行为分析、金融数据分析和物联网数据分析等场景。物化视图的创建、数据插入、更新和一致性保证通过事务机制实现。
81 14
|
25天前
|
消息中间件 分布式计算 大数据
数据为王:大数据处理与分析技术在企业决策中的力量
【10月更文挑战第29天】在信息爆炸的时代,大数据处理与分析技术为企业提供了前所未有的洞察力和决策支持。本文探讨了大数据技术在企业决策中的重要性和实际应用,包括数据的力量、实时分析、数据驱动的决策以及数据安全与隐私保护。通过这些技术,企业能够从海量数据中提取有价值的信息,预测市场趋势,优化业务流程,从而在竞争中占据优势。
73 2
|
26天前
|
数据采集 机器学习/深度学习 搜索推荐
大数据与社交媒体:用户行为分析
【10月更文挑战第31天】在数字化时代,社交媒体成为人们生活的重要部分,大数据技术的发展使其用户行为分析成为企业理解用户需求、优化产品设计和提升用户体验的关键手段。本文探讨了大数据在社交媒体用户行为分析中的应用,包括用户画像构建、情感分析、行为路径分析和社交网络分析,以及面临的挑战与机遇。
|
26天前
|
机器学习/深度学习 搜索推荐 大数据
大数据与教育:学生表现分析的工具
【10月更文挑战第31天】在数字化时代,大数据成为改善教育质量的重要工具。本文探讨了大数据在学生表现分析中的应用,介绍学习管理系统、智能评估系统、情感分析技术和学习路径优化等工具,帮助教育者更好地理解学生需求,制定个性化教学策略,提升教学效果。尽管面临数据隐私等挑战,大数据仍为教育创新带来巨大机遇。
|
2月前
|
存储 机器学习/深度学习 分布式计算
大数据技术——解锁数据的力量,引领未来趋势
【10月更文挑战第5天】大数据技术——解锁数据的力量,引领未来趋势
|
15天前
|
存储 分布式计算 数据挖掘
数据架构 ODPS 是什么?
数据架构 ODPS 是什么?
122 7
|
15天前
|
存储 分布式计算 大数据
大数据 优化数据读取
【11月更文挑战第4天】
31 2