返回项目列表

基于 Scrapy+Kafka+Hive 的微博舆情离线数仓与情感分析平台

付费
Scrapy,Kafka,Spark,Hive,数仓建模

项目描述

一句话

基于 Scrapy + Kafka + Spark + Hive 构建面向微博舆情场景的离线数据开发项目,打通「数据采集 → 消息缓冲 → 离线数仓分层建模 → 指标分析 → 可视化」完整链路,覆盖多爬虫并行采集、Kafka 削峰、ODS→DWD→DWS→ADS 建模、情感分析与数据倾斜治理。获软件著作权《基于 Python 的网络舆情检测系统》。

业务背景

舆情运营侧需要对微博热点话题做持续监测:

  • 追踪关键词 / 话题的热度趋势(发博量、转评赞、传播峰值)
  • 分析评论的舆情倾向(正 / 负 / 中占比及变化)
  • 刻画参与话题的用户画像(地域、认证、活跃度分布)

数据源头是微博/评论/用户三类异构 JSON,采集速率随热点剧烈抖动,且需要长期沉淀做 T+1 分析对账。因此建设一套离线数仓 + 情感分析平台,用分层建模保证口径统一、可复用、可追溯。

技术栈
层级技术讲述口径
采集Scrapy 多爬虫并行反爬、并发、去重、断点续爬
缓冲Kafka(微博/评论/用户拆 Topic)削峰、解耦、Offset 重放
落地Spark Streaming → HDFSmicro-batch、小文件治理
数仓Hive(ODS→DWD→DWS→ADS)分层建模、事实/维度、拉链表
计算Spark SQL / Spark Core离线 ETL、情感分析、倾斜治理
展示Superset趋势 / 倾向 / 画像看板
系统架构
text
1 Kafka Spark Streaming Hive 线
2 key=
3 mid/id topic_weibo JSON ODS Superset
4 topic_comment HDFS DWD
5 topic_user ODS DWS /
6 // ADS
7
数仓分层设计
定位本项目落点
ODS贴源原始微博/评论/用户原始 JSON 落 HDFS,按 dt 分区,不做业务加工
DWD明细清洗去重、字段标准化、维度退化;微博事实、评论事实、用户维、话题维
DWS主题宽表话题日粒度、用户日粒度轻度聚合宽表,减少下游重复 join
ADS应用指标关键词热度趋势、舆情倾向占比、用户画像,直供看板
核心指标口径
指标定义粒度关键注意
话题热度发博量 + 转评赞加权话题 × 天权重可配;按 dt 分区扫描
传播峰值单话题小时最大发博/互动话题 × 小时识别爆发时点
舆情倾向正/负/中评论占比话题 × 天依赖情感打标,关注趋势稳定性
用户画像地域/认证/活跃分布用户维缓变属性用拉链表追溯
项目亮点(简历可写)
  1. 多爬虫并行 + Kafka 按实体拆 Topic 的采集缓冲架构,削峰解耦、可重放
  2. Spark Streaming 落 HDFS 形成 ODS,配 T+1 合并任务治理小文件
  3. 完整 ODS→DWD→DWS→ADS 分层,事实/维度建模 + 缓变维拉链表
  4. 热点话题倾斜用「随机前缀打散 + 二次聚合」两阶段缓解长尾
  5. 离线情感分析 ETL,输出可解释的舆情倾向占比
  6. 分区 + 小文件合并 + 预聚合宽表的离线查询优化组合
项目成果
  • 获得软件著作权《基于 Python 的网络舆情检测系统》
  • 沉淀一套可复用的采集 → 缓冲 → 分层数仓 → 看板方法论,口径统一可追溯

该内容需要积分解锁

500 积分

请先登录后解锁

评论 (0)

登录后参与评论。

还没有评论,来做第一个。

基于 Scrapy+Kafka+Hive 的微博舆情离线数仓与情感分析平台