第12章 大规模微博传播分析案例
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第12章 大规模微博传播分析案例
本章主要内容
➢ 微博具有用户量大和信息价值高等特点, 目前已构成了一种典型的大数据资源, 微博 在回复和转发过程中形成了一个用户关系 网,这种网络反映了微博信息的传播和用 户分布情况
➢ 本章介绍一种基于MapReduce的微博评论 和传播网络分析算法的设计案例
第12章大规模微博传播分析案例
12.2并行化微博数据获取算法设计
返回值字段 user
retwddted_status reposts_count
comments_count attitudes_count
mlevel
visible
pic_urls
字段类型
字段说明
Object Object
Int Int Int Int
微博作者的用户信息字段 被转发的原微博信息字段,当该微博为转发微博时返回 转发数 评论数 表态数 暂未支持
Object
微博的可见性及指定可见分组信息。该object中type取值:0 (普通微博);1(私密微博);3(指定分组微博);4(密 友微博)。list_id为分组的组号
Object 微博配图地址。多图时返回多图链接,无图时返回“[]”
微博部分字段信息
12.2并行化微博数据获取算法设计
➢ 根据微博ID类别,下载微博的评论和转发数据
• 写入评论和转发数到文件
• public void reduce(IntWritable key, Iterator<Text> values, • Context context)
12.2并行化微博数据获取算法设计
➢ 以上面获取的微博转发和评论数据为输入,可以进行下面 统计和分析
1)二次转发数统计(RepostCount) 2)转发者粉丝统计(RepostFollowersCount) 3)转发者性别统计(RepostGender) 4)转发层数统计(RepostLayer) 5)转发者位置统计(RepostLocation) 6)转发时间统计(RepostTime)
总结
➢ 作为通用的并行处理框架,MapReduce可以用来在大规模 数据应用场景中分析和处理数据,本章使用MapReduce来 并行抓取和分析微博数据,读者需要重点掌握如何设计 Mapper和Reducer来分解任务和写入结果数据。
➢ 同时需要注意,对于普通用户,批量抓取微博数据通常会 受到商业限制,其技术细节需要花时间深入研究和学习。
施)
使用MapReduce并行化分析和处理
• 将微博分析任务根据数据属性或功能(转发、粉丝、 性别、地域、时间等)分布到多个节点同时进行,
12.2并行化微博数据获取算法设计
➢ 新浪微博向开发者提供开放平台SDK,可以获取微博的主 要信息
返回值字段
create_at
id mid idstr text source favorited truncated
Mapper类
• 对每个微博ID,并行地下载单条微博的评论和转发数
• public void map(LongWritable key, Text value, outputCollector<Text,Text> output, Reporter reporter) • value: 微博id
Reducer类
谢 谢!
字段类型
字段说明
String
Int64 Int64 String String String Boolean Boolean
微博创建时间
微博ID 微博MID 字符串型的微博ID 微博信息内容 微博来源 是否已收藏,true:是;false:否 是否被截断,true:是;false:否
微博部分字段信息
➢ 微博舆情的分析和引导 ➢ 微博数据量大,多数属于非结构化和半结构化数
据,分析和处理花费时间长
12.1微博分析问题背景与并行方法
➢ 两个阶段:
使用MapReduce框架并行抓取微博数据
• 多个节点分别抓取不同用户、评论、转发等数据 • 结果保存在不同文件 • 普通用户的批量抓取通常会受到商业限制(反爬措
➢ 12.1 微博分析问题背景与并行方法 ➢ 12.2 并行化微博数据获取算法设计
Байду номын сангаас
12.1微博分析问题背景与并行方法
➢ 微博用户不再是单纯的信息接收个体,同时也是 信息的提供者
➢ 明星博主拥有的粉丝数有的甚至超过数千万,影 响力广泛
➢ 微博的转发、评论、覆盖人群、影响人群、地域 分布、性别分布、时间分布等诸多参数进行统计 分析
12.2并行化微博数据获取算法设计
➢ 二次转发统计
Mapper
• 提取微博ID和转发数目 • public void map(LongWritable key, Text value,Context context) • value:前面写入的微博信息
Reducer
• public void reduce(IntWritable key, Iterator<Text> values, Context context)
本章主要内容
➢ 微博具有用户量大和信息价值高等特点, 目前已构成了一种典型的大数据资源, 微博 在回复和转发过程中形成了一个用户关系 网,这种网络反映了微博信息的传播和用 户分布情况
➢ 本章介绍一种基于MapReduce的微博评论 和传播网络分析算法的设计案例
第12章大规模微博传播分析案例
12.2并行化微博数据获取算法设计
返回值字段 user
retwddted_status reposts_count
comments_count attitudes_count
mlevel
visible
pic_urls
字段类型
字段说明
Object Object
Int Int Int Int
微博作者的用户信息字段 被转发的原微博信息字段,当该微博为转发微博时返回 转发数 评论数 表态数 暂未支持
Object
微博的可见性及指定可见分组信息。该object中type取值:0 (普通微博);1(私密微博);3(指定分组微博);4(密 友微博)。list_id为分组的组号
Object 微博配图地址。多图时返回多图链接,无图时返回“[]”
微博部分字段信息
12.2并行化微博数据获取算法设计
➢ 根据微博ID类别,下载微博的评论和转发数据
• 写入评论和转发数到文件
• public void reduce(IntWritable key, Iterator<Text> values, • Context context)
12.2并行化微博数据获取算法设计
➢ 以上面获取的微博转发和评论数据为输入,可以进行下面 统计和分析
1)二次转发数统计(RepostCount) 2)转发者粉丝统计(RepostFollowersCount) 3)转发者性别统计(RepostGender) 4)转发层数统计(RepostLayer) 5)转发者位置统计(RepostLocation) 6)转发时间统计(RepostTime)
总结
➢ 作为通用的并行处理框架,MapReduce可以用来在大规模 数据应用场景中分析和处理数据,本章使用MapReduce来 并行抓取和分析微博数据,读者需要重点掌握如何设计 Mapper和Reducer来分解任务和写入结果数据。
➢ 同时需要注意,对于普通用户,批量抓取微博数据通常会 受到商业限制,其技术细节需要花时间深入研究和学习。
施)
使用MapReduce并行化分析和处理
• 将微博分析任务根据数据属性或功能(转发、粉丝、 性别、地域、时间等)分布到多个节点同时进行,
12.2并行化微博数据获取算法设计
➢ 新浪微博向开发者提供开放平台SDK,可以获取微博的主 要信息
返回值字段
create_at
id mid idstr text source favorited truncated
Mapper类
• 对每个微博ID,并行地下载单条微博的评论和转发数
• public void map(LongWritable key, Text value, outputCollector<Text,Text> output, Reporter reporter) • value: 微博id
Reducer类
谢 谢!
字段类型
字段说明
String
Int64 Int64 String String String Boolean Boolean
微博创建时间
微博ID 微博MID 字符串型的微博ID 微博信息内容 微博来源 是否已收藏,true:是;false:否 是否被截断,true:是;false:否
微博部分字段信息
➢ 微博舆情的分析和引导 ➢ 微博数据量大,多数属于非结构化和半结构化数
据,分析和处理花费时间长
12.1微博分析问题背景与并行方法
➢ 两个阶段:
使用MapReduce框架并行抓取微博数据
• 多个节点分别抓取不同用户、评论、转发等数据 • 结果保存在不同文件 • 普通用户的批量抓取通常会受到商业限制(反爬措
➢ 12.1 微博分析问题背景与并行方法 ➢ 12.2 并行化微博数据获取算法设计
Байду номын сангаас
12.1微博分析问题背景与并行方法
➢ 微博用户不再是单纯的信息接收个体,同时也是 信息的提供者
➢ 明星博主拥有的粉丝数有的甚至超过数千万,影 响力广泛
➢ 微博的转发、评论、覆盖人群、影响人群、地域 分布、性别分布、时间分布等诸多参数进行统计 分析
12.2并行化微博数据获取算法设计
➢ 二次转发统计
Mapper
• 提取微博ID和转发数目 • public void map(LongWritable key, Text value,Context context) • value:前面写入的微博信息
Reducer
• public void reduce(IntWritable key, Iterator<Text> values, Context context)