基于spark的微博数据分析
·
文章目录
基于spark的微博数据分析


主要数据介绍
- sql文件
- weibodatabase.sql :原始数据
- weibo_analysis.sql:分析结果数据
用户信息表
| user(用户表) | |
|---|---|
| 字段 | 注解 |
| uid | 用户id |
| screen_name | 昵称 |
| name | 用户姓名 |
| province | 省份 |
| city | 市区 |
| location | 地区(县) |
| url | 微博主页链接 |
| gender | 性别 |
| followsnum | 粉丝数 |
| friendsnum | 关注(他人)数 |
| statusenum | 用户微博数 |
| favouritesnum | 用户收藏数 |
| created_at | 用户创建时间 |
省份编码表
| bianma(微博省份编码映射) | |
|---|---|
| 字段 | 注解 |
| Provinc | 编码 |
| Zhongwen | 对应省份中文 |
微博内容表
| weibo(微博表) | |
|---|---|
| 字段 | 注解 |
| mid | 微博id |
| data | 微博发表日期 |
| text | 微博内容 |
| source | 发表来源(平台终端) |
| reopstnum | 转发数 |
| commentsnum | 评论数 |
| attitudesnum | 点赞数 |
| uid | 用户id |
| topic | 微博相关主题 |
数据分析
项目构建
使用java程序实现websocket服务端,每隔几秒请求数据库获取数据,数据库信息在不断更新,前台数据就动态展现,对于流式处理可以将结果不断写入数据库,服务端不断发送数据库信息,前台动态演示。

前端展示
使用echart工具使数据可视化
数据分析结果演示
微博内容热词统计(房价话题)(Fangjia_hotwords.scala)
从数据库获取微博内容数据为dataframe,并将其写入kafka,然后用structured streaming进行热词统计,其中用hanlp工具包 进行分词,统计机构名nt,地名ns, 人名nr, 形容词a

统计数据中粉丝数量前20的微博用户(Fans_analysis.scala)

微博中国各个省份人口分布统计(PopulationDistribution.scala)

某一话题下微博发布时间分布情况 (Timedistribution.scala)
主要是计算某一话题下一条微博的所在时间段的数量,分为8个时段
从date中提取小时数,根据小时数所在的区间对应到相应的时间段统计数量,再算成比例
一天以24小时计 对应的时间段 0-5 凌晨 5-7 早上 7-11 上午 11-13 中午 13-17 下午 17-19 傍晚 19-23 晚上 23-0 深夜

统计微博发布设备(前8个)(ClientAnalysis.scala)
取发布设备,用sparksql 进行wordcount


DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐

所有评论(0)