使用Spark和Pig统计每秒钟微博数量
手头有一个新浪微博的数据集,大概在1亿条左右。用Pig和Spark写了几行代码,基于400w条微博,统计了每秒钟发了多少条微博。
Life is too short , show me the code.
将数据从本地拷到HDFS上:
hadoop fs -copyFromLocal /home/data/weibo/201605/weibo_freshdata.2016-05-01 /input/weibo/201605
Pig脚本:
启动pig的grunt交互式窗口:
pig
默认在Hadoop集群环境中运行。脚本如下:
weibo = LOAD 'hdfs://master:9000/input/weibo/201605/weibo_freshdata.2016-05-01';-- $1是发布事件
grouped_weibo = group weibo by $1;counts = foreach grouped_weibo generate group , COUNT(weibo);store counts into '/output/weibo_time_count';
下面是YARN作业截图:
启用了26个Map任务,4个Reduce任务,花了大概2分钟30秒统计完结果。部分结果如下:
Spark
已yarn-client模式启动spark-shell:
spark-shell --master yarn-client
统计的代码如下:
val lines = sc.textFile("hdfs://master:9000/input/weibo/201605/weibo_freshdata.2016-05-01")val records = lines.map(_.split("\t"))val record_count = records.map( rec => (rec(1),1))val group_count = record_count.reduceByKey( (a,b) => a+b)group_count.saveAsTextFile("output/weibo/spark_count")
大概花了17秒钟得到结果,作业截图如下:
验证结果
针对Pig和Spark统计的结果,随机抽查一下是否一致,结果如下图,上下分别为Pig和Spark的结果:
可视化
根据统计的结果做了个简单趋势图:
可以大概看出,凌晨4,5,6是一天的低峰期,而上午的9点,晚上8点,则处于比较活跃的高峰。
使用Spark和Pig统计每秒钟微博数量相关推荐
- 用spark实现单词统计
1.在本地运行 import org.apache.spark.rdd.RDD import org.apache.spark.{SparkConf, SparkContext}/*** 用spark ...
- 使用MapReduce统计一篇微博数据的点赞次数,并且输出前五个最高的点赞数量。
一个MapReduce写了一个下午,调试运行了不下20次了,我靠,真是闹心,差点整崩溃,在最绝望的时候给出了最好的答案. 需求: 使用MapReduce统计一篇微博数据的点赞次数,并且输出前五个最高的 ...
- php统计字数函数,微博内容字数统计函数(PHP版)
最近在做一个项目,其中一部分的内容就是文章内容跟微博的同步,即在发布文章时,同步更新到微博. 需要解决的问题之一就是判断文章内容的长度,因为微博(包括新浪微博和腾讯微博)都有字数限制,不能超过140字 ...
- python统计文本单词总数_python统计文本文件内单词数量的方法
本文实例讲述了python统计文本文件内单词数量的方法.分享给大家供大家参考.具体实现方法如下: # count lines,sentences,and words of a text file # ...
- 统计行业板块内涨停板数量,跟踪热点板块!股票量化分析工具QTYX-V2.6.0
前言 QTYX系统结构如下所示: 功能概述 目前A股市场的股票每天是有限制最大涨幅的,也就是涨停的概念.比如主板个股最大涨幅是10%,创业板个股最大涨幅是20%等. 对于个股而言并不是随随便便就能 ...
- python统计汉字个数是_使用 Python 统计中文字符的数量
使用 Python 统计中文字符的数量 方法一,排除法 假设只有中英文字符: import string def str_count(str): '''找出字符串中的中英文.空格.数字.标点符号个数' ...
- Codeforce 1335C - Two Teams Composing 统计技能种类数量+统计同一技能最大数量
[codeforces 1335C] Two Teams Composing 统计技能种类数量+统计同一技能最大数量 https://codeforces.com/contest/1335/probl ...
- python统计中文字符_使用 Python 统计中文字符的数量
使用 Python 统计中文字符的数量 方法一,排除法 假设只有中英文字符: import string def str_count(str): '''找出字符串中的中英文.空格.数字.标点符号个数' ...
- python实现统计文本当中单词数量
title: python实现统计文本当中单词数量 date: 2018-6-30 15:12:43 categories: Python tags: - python 关于用实现统计文本当中单词数量 ...
最新文章
- 人物访谈:松本行弘谈Ruby
- python调用centos防火墙_Centos7防火墙:Firewall基本使用命令,设置防火墙规则
- Maven环境配置及IntelliJ IDEA中的Maven部署(亲自测试)
- 使用ASP.NET广告控件的XML语言创建广告链接--ASP.NET
- JavaScript闭包详解
- 编写android驱动程序,Android 驱动编写LED-NDK程序
- android开发微博前的包准备,新浪微博开发之前期准备篇
- 在Htdocs之外创建XAMPP / Apache服务文件[关闭]
- ospf多区域实例配置
- android log4j slf4j,Android中的LOG4J
- vector的初始化和使用
- 【纯java语言做RPG游戏】4.用XML导入NPC并与NPC对话
- C语言半框,不同的镜架结构优劣大盘点
- 2020.9.8:Spring cloud :install时报错
- PD runner下载和使用教程
- AMP Adversarial Motion Priors for Stylized Physics-动作生成算法
- 30岁以后搞Android已经没有前途?复习指南
- dubbo的底层原理
- 用一组方程表示一个平面
- 诺基亚发布NetAct云网络管理系统,为5G网络演进铺路
热门文章
- 人工智能训练师数加加标注培训系统正式上线
- 2023届校招算法岗知识超全总结
- 十四.Deepin Linux V20.7 插入耳机听不到声音的解决办法
- 华为云高校开发者青年班第七期——DevCloud的托马斯商城部署——知识点总结
- spring成神之路第三十八篇:@Scheduled @EnableScheduling 定时器详解
- 爬虫一 requests库与BeautifulSoup库、HTML
- 理解和使用工具(二)-文件系统Heirarchy
- TexturePacker序列号申请
- Table Compression Characteristics
- 计算机网络第一章课后题完整详细答案