前言
本文章是使用基于Hadoop的数据仓库Hive针对陌陌聊天软件进行数据分析并可视化。
一、使用的工具
- Vmware Workstation Pro
- Centos 7 64bit
- FinalShell 3.9.2.2
- DataGrip 2020.1 x64
- Tableau 2021.1
二、操作步骤
1.数据来源
来自聊天系统中导出的2021年11月01日一天24小时的用户聊天数据,以TSV文本形式存储
数据获取链接:https://pan.baidu.com/s/1dq1YJE_drBtJBsjgXDqpsg
提取码:wgls
2.数据内容分析
①数据大小:两个文件data1.tsv和data2.tsv,共14万条数据
②列分割符:'\t'
③字段名及数据类型(这里为了方便统一,一致使用varchar数据类型)
消息发送时间:varchar
发件人昵称:varchar
发件人账号:varchar
发件人性别:varchar
发件人IP:varchar
发件人系统:varchar
发件人手机型号:varchar
发件人网络类型:varchar
发件人GPS:varchar
收件人昵称:varchar
收件人IP:varchar
收件人账号:varchar
收件人系统:varchar
收件人手机型号:varchar
收件人性别:varchar
消息类型:varchar
相隔距离:varchar
消息内容:varchar
3.加载数据
①创建数据库momo(这里使用DataGrip)
②创建表momo_data
③将两份数据data1.tsv和data2.tsv上传到HS2服务所在的本地文件系统(这里使用FinalShell,我的是在虚拟机node1的/root/hivedata/下)
④加载data1.tsv和data2.tsv数据到momo_data表上
⑤验证数据加载是否成功
查看momo_data表前10行数据是否正常
查看momo_data表的总行数(这里可能会耗费一点时间)
4.数据清洗ETL
①检查发现发送人GPS一列存在数据缺失
②需要将消息发送时间进行日期和小时的拆分
③由于tableau需要经度纬度进行分析,需要对发送人GPS和接收人GPS进行拆分
④将数据清洗后的数据保存到新表中
创建新表momo_etl_data并验证数据是否清洗成功
5.数据分析
①统计今日(2021-11-01)消息量
②统计每小时消息量、发送和接收用户数
③统计今日各地区发送消息量
④统计发送消息最多次数的Top10用户
⑤统计接收消息最多次数的Top10用户
⑥统计发送人手机型号分布情况
⑦统计发送人操作系统分布情况
8.数据可视化
这里使用Tableau对以上数据表进行可视化,具体过程便不多赘述
总结
以上就是今天要讲的内容,本文仅仅简单介绍了数据分析的业务案例,具体的环境配置没有在这里说明,望大家自行配置。
版权归原作者 Clark_liang111 所有, 如有侵权,请联系我们删除。