手头有一个新浪微博的数据集,大概在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统计每秒钟微博数量相关推荐

  1. 用spark实现单词统计

    1.在本地运行 import org.apache.spark.rdd.RDD import org.apache.spark.{SparkConf, SparkContext}/*** 用spark ...

  2. 使用MapReduce统计一篇微博数据的点赞次数,并且输出前五个最高的点赞数量。

    一个MapReduce写了一个下午,调试运行了不下20次了,我靠,真是闹心,差点整崩溃,在最绝望的时候给出了最好的答案. 需求: 使用MapReduce统计一篇微博数据的点赞次数,并且输出前五个最高的 ...

  3. php统计字数函数,微博内容字数统计函数(PHP版)

    最近在做一个项目,其中一部分的内容就是文章内容跟微博的同步,即在发布文章时,同步更新到微博. 需要解决的问题之一就是判断文章内容的长度,因为微博(包括新浪微博和腾讯微博)都有字数限制,不能超过140字 ...

  4. python统计文本单词总数_python统计文本文件内单词数量的方法

    本文实例讲述了python统计文本文件内单词数量的方法.分享给大家供大家参考.具体实现方法如下: # count lines,sentences,and words of a text file # ...

  5. 统计行业板块内涨停板数量,跟踪热点板块!股票量化分析工具QTYX-V2.6.0

    前言‍‍ QTYX系统结构如下所示: 功能概述 目前A股市场的股票每天是有限制最大涨幅的,也就是涨停的概念.比如主板个股最大涨幅是10%,创业板个股最大涨幅是20%等. 对于个股而言并不是随随便便就能 ...

  6. python统计汉字个数是_使用 Python 统计中文字符的数量

    使用 Python 统计中文字符的数量 方法一,排除法 假设只有中英文字符: import string def str_count(str): '''找出字符串中的中英文.空格.数字.标点符号个数' ...

  7. Codeforce 1335C - Two Teams Composing 统计技能种类数量+统计同一技能最大数量

    [codeforces 1335C] Two Teams Composing 统计技能种类数量+统计同一技能最大数量 https://codeforces.com/contest/1335/probl ...

  8. python统计中文字符_使用 Python 统计中文字符的数量

    使用 Python 统计中文字符的数量 方法一,排除法 假设只有中英文字符: import string def str_count(str): '''找出字符串中的中英文.空格.数字.标点符号个数' ...

  9. python实现统计文本当中单词数量

    title: python实现统计文本当中单词数量 date: 2018-6-30 15:12:43 categories: Python tags: - python 关于用实现统计文本当中单词数量 ...

最新文章

  1. 人物访谈:松本行弘谈Ruby
  2. python调用centos防火墙_Centos7防火墙:Firewall基本使用命令,设置防火墙规则
  3. Maven环境配置及IntelliJ IDEA中的Maven部署(亲自测试)
  4. 使用ASP.NET广告控件的XML语言创建广告链接--ASP.NET
  5. JavaScript闭包详解
  6. 编写android驱动程序,Android 驱动编写LED-NDK程序
  7. android开发微博前的包准备,新浪微博开发之前期准备篇
  8. 在Htdocs之外创建XAMPP / Apache服务文件[关闭]
  9. ospf多区域实例配置
  10. android log4j slf4j,Android中的LOG4J
  11. vector的初始化和使用
  12. 【纯java语言做RPG游戏】4.用XML导入NPC并与NPC对话
  13. C语言半框,不同的镜架结构优劣大盘点
  14. 2020.9.8:Spring cloud :install时报错
  15. PD runner下载和使用教程
  16. AMP Adversarial Motion Priors for Stylized Physics-动作生成算法
  17. 30岁以后搞Android已经没有前途?复习指南
  18. dubbo的底层原理
  19. 用一组方程表示一个平面
  20. 诺基亚发布NetAct云网络管理系统,为5G网络演进铺路

热门文章

  1. 人工智能训练师数加加标注培训系统正式上线
  2. 2023届校招算法岗知识超全总结
  3. 十四.Deepin Linux V20.7 插入耳机听不到声音的解决办法
  4. 华为云高校开发者青年班第七期——DevCloud的托马斯商城部署——知识点总结
  5. spring成神之路第三十八篇:@Scheduled @EnableScheduling 定时器详解
  6. 爬虫一 requests库与BeautifulSoup库、HTML
  7. 理解和使用工具(二)-文件系统Heirarchy
  8. TexturePacker序列号申请
  9. Table Compression Characteristics
  10. 计算机网络第一章课后题完整详细答案