基于阿里云大数据平台开发大数据应用(三):基于MaxCompute 的慕课网站数据仓库

简介: 本文是基于阿里云大数据平台开发大数据应用系列文章的第三部分,主要介绍如何基于阿里云MaxCompute 平台,开发慕课网站的数据仓库。

一、需求分析
网站访问日志是用户在访问网站服务器时产生的事件记录(log),通常记载着时间、日期、使用者及动作等相关操作的描述。在大数据时代,我们应当抓取并利用这些日志中有价值的信息,这样我们才能更好的了解网站的运行情况并做出相应的优化,甚至为公司营销策略提供依据。

在本项目中,我们提取了网站访问日志中有价值的信息,如:用户IP、访问时间、请求链接、请求状态、来源链接、用户操作系统、浏览器等。对这些数据进行处理分析,得到网站的运行情况、安全情况、运营情况以及网站的用户信息等。最终通过数据分析,得出相应的结论或提出相应的优化策略。

二、数据集构成分析
1、 access.log
包含:IP地址,访问时间,请求链接,访问状态,字节数,访问来源,用户信息
2、 ip.txt
包含:IP地址起点,IP地址终点,地点,网络运营商

三、数据处理分析:
image.png
1、 预处理access.log(Python)
由于日志文件中无法获得独立用户(UV)的cookie id,实验中判断UV的方式是:IP和用户信息。在存储时只需要保留两项信息相同,且访问时间最早的log,即可获得最终的UV。考虑到原数据集中的时间精度可能不满足上述要求,无法找出“最早log”,所以在每一条log前添加了自增长的id。
image.png

2、 创建原数据表导入数据
web_access_log_content:access.log
web_ip_content:ip.txt

3、 提取日志各个属性
新建表 web_access_log_0 存储access.log文件中提取到的各项属性信息
image.png
从web_access_log_content表中利用正则式提取各项属性。
其中ip_1表示IP的第一个数,ip_num存储IP的十进制数。这样将IP转为十进制数是为了在后续获取相应地点和网络运营商时方便关联两个表。

4、 提取IP属性
建立web_ip_info存储ip.txt中的各项属性信息,其中ip_start_1表示IP中的第一个数。
image.png
同样,在该表中IP起点和IP终点都是作为十进制数存储的,地点和运营商也依据正则表达式进行提取。

5、 在log中增加地点、运营商和访问链接信息
新建表web_access_log_1存储关联后的结果,新增属性city,company
再将地名和网络供应商的名称规范后的表存为web_access_log_2,同时加入访问链接url信息,其中网络供应商只分为四类:移动、联通、电信、其他。

6、 提取访问时间和来源链接
新建表web_access_log_3,新添加属性access_hour, ref_type

7、 处理用户(客户端)信息
新建表web_access_log_4,新添加属性client_browser, client_type
client_browser:用户使用的浏览器;
client_type:用户使用的操作系统;
至此,所有的信息已合并完全。

8、 获取UV表(即:用户第一次访问)
通过自关联,判断IP、用户信息和自增id来确定UV,同时建立web_access_log_first表来存储UV。

9、 获取最热访问链接
记录访问链接的前10名为最热访问链接,存在web_access_log_url_top表中。
image.png

10、 获取IP黑名单
新建表web_access_log_ip_black存储IP黑名单;
黑名单条件:无效访问次数>50。
image.png

相关实践学习
简单用户画像分析
本场景主要介绍基于海量日志数据进行简单用户画像分析为背景,如何通过使用DataWorks完成数据采集 、加工数据、配置数据质量监控和数据可视化展现等任务。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps 
目录
相关文章
|
18天前
招募!阿里云x魔搭社区发起Create@AI创客松邀你探索下一代多维智能体应用
招募!阿里云x魔搭社区发起Create@AI创客松邀你探索下一代多维智能体应用
303 0
|
24天前
|
分布式计算 运维 数据挖掘
MaxCompute是一个强大的云数据仓库服务
【4月更文挑战第1天】MaxCompute是一个强大的云数据仓库服务
24 1
|
9天前
|
人工智能 Serverless 数据处理
利用阿里云函数计算实现 Serverless 架构的应用
阿里云函数计算是事件驱动的Serverless服务,免服务器管理,自动扩展资源。它降低了基础设施成本,提高了开发效率,支持Web应用、数据处理、AI和定时任务等多种场景。通过实例展示了如何用Python实现图片压缩应用,通过OSS触发函数自动执行。阿里云函数计算在云计算时代助力企业实现快速迭代和高效运营。
46 0
|
15天前
|
云安全 数据采集 安全
阿里云安全产品,Web应用防火墙与云防火墙产品各自作用简介
阿里云提供两种关键安全产品:Web应用防火墙和云防火墙。Web应用防火墙专注网站安全,防护Web攻击、CC攻击和Bot防御,具备流量管理、大数据防御能力和简易部署。云防火墙是SaaS化的网络边界防护,管理南北向和东西向流量,提供访问控制、入侵防御和流量可视化。两者结合可实现全面的网络和应用安全。
阿里云安全产品,Web应用防火墙与云防火墙产品各自作用简介
|
24天前
|
消息中间件 Kubernetes Kafka
Terraform阿里云创建资源1分钟创建集群一键发布应用Terraform 创建 Kubernetes 集群
Terraform阿里云创建资源1分钟创建集群一键发布应用Terraform 创建 Kubernetes 集群
17 0
|
24天前
|
存储 数据采集 分布式计算
构建MaxCompute数据仓库的流程
【4月更文挑战第1天】构建MaxCompute数据仓库的流程
26 2
|
1月前
|
域名解析 弹性计算 数据可视化
如何使用云服务器ECS搭建网站?阿里云云服务器ECS部署网站新手教程
本文介绍了在阿里云ECS上自助建站的流程。建站方式包括自助建站、模板建站和定制建站,适合个人或小企业用户。建站步骤涉及准备服务器、配置安全组规则、部署网站、购买和备案域名以及解析域名。此外,文章还提及了产品计费和常见问题,提供相关服务如架构设计、迁云服务和基础设置服务等。
398 0
|
1月前
|
弹性计算 人工智能 物联网
挖掘阿里云ECS的潜力:创意应用和未来可能性
在云厂商中,我觉得开发者更信赖阿里云的云产品,而且随着阿里云最近宣布云产品降价的消息,会有更多的开发者和企业选择阿里云的云产品。这里拿阿里云的云服务器来做说明,阿里云的云服务器ECS为用户提供了强大的计算资源和灵活的扩展性,使其成为搭建各种有趣和创意应用的理想平台。除了已知的小游戏、小程序和个人网盘等应用案例之外,本文还会进一步探讨ECS在特定场景下的实践经验,并挖掘其在其他领域的潜力,为大家带来更多创意和启发。
557 3
挖掘阿里云ECS的潜力:创意应用和未来可能性
|
1月前
|
缓存 运维 监控
应用研发平台EMAS 常见问题之用华为的推送界面阿里云收不到如何解决
应用研发平台EMAS(Enterprise Mobile Application Service)是阿里云提供的一个全栈移动应用开发平台,集成了应用开发、测试、部署、监控和运营服务;本合集旨在总结EMAS产品在应用开发和运维过程中的常见问题及解决方案,助力开发者和企业高效解决技术难题,加速移动应用的上线和稳定运行。
382 2
|
1月前
|
消息中间件 编解码 运维
阿里云 Serverless 异步任务处理系统在数据分析领域的应用
本文主要介绍异步任务处理系统中的数据分析,函数计算异步任务最佳实践-Kafka ETL,函数计算异步任务最佳实践-音视频处理等。
175311 348