基于Hive进行聊天数据分析案例实践

一、项目背景

        聊天平台每天都会有大量的用户在线,会出现大量的聊天数据,通过对聊天数据的统计分析,可以更好的对用户构建精准的用户画像,为用户提供更好的服务以及实现高 ROI 的平台运营推广,给公司的发展决策提供精确的数据支撑。

        项目将基于一个社交平台 App 的用户数据,完成相关指标的统计分析并结合 BI 工具对指标进行可视化展现。

        数据集:

        链接:https://pan.baidu.com/s/1QaZ0grFYyucT8WwGRZ1ajQ?pwd=ny13 

        提取码:ny13 

二、项目目标

        基于 Hadoop 和 Hive 实现聊天数据统计分析,构建聊天数据分析报表

        需求:

                 统计今日总消息量

                 统计今日每小时消息量、发送和接收用户数

                 统计今日各地区发送消息数据量

                 统计今日发送消息和接收消息的用户数

                 统计今日发送消息最多的 Top10 用户

                 统计今日接收消息最多的 Top10 用户

                 统计发送人的手机型号分布情况

                 统计发送人的设备操作系统分布情况

三·、数据准备

        (1)上传数据到Linux并上传HDFS

        (2)建立数据库并建表

        (3)加载数据

四、数据清洗(ETL)

        ETL :

                • E , Extract ,抽取

                • T , Transform ,转换

                • L , Load ,加载

        从 A 抽取数据 (E) ,进行数据转换过滤 (T) ,将结果加载到 B(L) ,就是 ETL

        (1)建立新表用于存储清洗后的数据

        (2)对数据进行清洗

                清洗目标:①将时间拆分为日和小时

                                  ②将GPS地址拆分为经度和纬度

                                  ③将GPS为空的值过滤      

        (3)将数据导入新表

                使用insert overwrite table 表名 内容

五、数据整合

        (1)统计今日总消息量

        (2)统计今日每小时消息量、发送和接收用户数

        (3)统计今日各地区发送消息数据量

        (4)统计今日发送消息和接收消息的用户数

        (5)统计今日发送消息最多的Top10用户

        (6)统计今日接收消息最多的Top10用户

        (7)统计发送人的手机型号分别情况

        (8)统计发送人的设备操作系统分布情况

六、使用Fine BI实现可视化

        (1)在公共数据新建文件夹,点击文件夹添加数据集

        (2)选择想要添加的数据集,然后点击确定

        (3)在我的分析,新建分析主题

        (4)选择新建的分析主题,找到上传的数据文件夹,选择数据

        (5)选择添加组件

        (6)切换自己想要的数据集,组件可以自定义命名

        (7)选择想要的图片样式,以及相关属性

        (8)新建一个仪表板,可自定义名字

        (9)添加组件,可根据需要调整大小和位置以及组件相关属性

        (10)完成设置后保存