2019独角兽企业重金招聘Python工程师标准>>>

1.下载spark和运行

wget http://apache.fayea.com/apache-mirror/spark/spark-1.0.0/spark-1.0.0-bin-hadoop2.tgz

我这里下载的是1.0.0版,由于我们只是测试spark的用法所以不需要配置spark集群,只需把下好的文件解压,进入bin/文件夹。

spark支持scala,java和python。

scala和java输入命令:./spark-shell python 输入命令 ./pyspark 进入控制台,我们以python为例:

很简单无需任何配置,好的开始是成功的一半,我们继续。

2.简单应用

读取文本文件,我们还是以之前的日志文件为例:

>>>file = sc.textFile("/home/hadoop/20130207.txt")

PS:python是大小写敏感的;路径要给全,否则默认是你运行命令时的那个路径;python2.7.X版本对编码支持一直是个问题,请尽量统一源文件的编码,如"utf-8".

显示总行数:

>>> file.count()

265063

显示第一行内容:

>>>file.first()

得到所有被ie8访问的url的计数

>>>file.filter(lambda line : "MSIE 8.0" in line).count()

98670

Ps: lambda 是匿名函数的写法;filter默认输入的是整行,上述代码的意思遍历每一行并计算出包含“MSIE 8.0”字符串的行数和。

得到拥有最多字段数的那行的字段个数:

>>> file.map(lambda line : len(line.split("|"))).reduce(lambda a,b: a if a>b else b )

Ps:map(lambda line : len(line.split("|")))是把每行分割成集合并返回集合的成员数;

python中的reduce内建函数是一个二元操作函数,他用来将一个数据集合(链表,元组等)中的所有数据进行下列操作:用传给reduce中的函数 func()(必须是一个二元操作函数)先对集合中的第1,2个数据进行操作,得到的结果再与第三个数据用func()函数运算,最后得到一个结果。

统计每个字符串(字段内容出现的次数:

file.flatMap(lambda line :line.split("|")).map(lambda word:(word,1)).reduceByKey(lambda a,b:a+b).collect()

结果显示的数据太多了,精神崩溃~~,换个方式~

统计每个字符串(字段内容出现的次数,并显示出现最多个10个字符串

>>>file.flatMap(lambda line :line.split("|")).map(lambda word:(word,1)).reduceByKey(lambda a,b:a+b).map(lambda (k,v):(v,k)).sortByKey().top(10)

sortByKey是根据键值排序,top是提取前X个记录,跟hive中的limit 类似。由于spark中没有sortByValue方法,所以在排序前先把key和value互换。

转载于:https://my.oschina.net/u/1589995/blog/289209

打造基于hadoop的网站日志分析系统(5)之spark在日志分析系统里的简单应用相关推荐

  1. 基于JAVA旅游网站设计计算机毕业设计源码+数据库+lw文档+系统+部署

    基于JAVA旅游网站设计计算机毕业设计源码+数据库+lw文档+系统+部署 基于JAVA旅游网站设计计算机毕业设计源码+数据库+lw文档+系统+部署 项目架构:B/S架构 开发语言:Java语言 开发软 ...

  2. 基于Java音乐网站的设计与实现

    随着互联网时代的到来,同时计算机网络技术高速发展,网络管理运用也变得越来越广泛.因此,建立一个基于Java音乐网站的设计与实现,会使基于Java音乐网站的设计与实现的管理工作系统化.规范化,也会提高平 ...

  3. 《大数据基础——基于Hadoop与Spark》课后习题——第一章部分答案

    仅用于我个人的学习.书籍为人民邮电出版社的<大数据技术基础--基于Hadoop与Spark>.课后习题选择是我个人认为有用的.记录下来是为了督促我学习:) 共好 1.请指出以下术语的基本含 ...

  4. 基于JAVA成人自考信息与推荐系统录屏计算机毕业设计源码+系统+lw文档+部署

    基于JAVA成人自考信息与推荐系统录屏计算机毕业设计源码+系统+lw文档+部署 基于JAVA成人自考信息与推荐系统录屏计算机毕业设计源码+系统+lw文档+部署 本源码技术栈: 项目架构:B/S架构 开 ...

  5. 基于hadoop的小红书电商网站用户行为分析系统毕业论文+任务书+开题报告+答辩PPT+知网查重报告+项目源码及Mysql数据

    基于hadoop的小红书电商网站用户行为分析系统毕业论文+任务书+开题报告+答辩PPT+知网查重报告+项目源码及Mysql数据库-99源码网,程序代做,代写程序代码,代写编程,代写Java编程,代写p ...

  6. 大数据技术之Hadoop(十一)——网站流量日志数据分析系统

    目录 素材: 一.模块开发--数据预处理 1.分析预处理的数据 2.实现数据的预处理 (1)创建Maven项目,添加相关依赖 (2)创建JavaBean对象,封装日志记录 (3)创建MapReduce ...

  7. 【Hadoop】基于Hadoop/Hbase/Hive的小型离线服务器日志分析应用

    ##1.项目简介 本项目主要设计一个基于Hadoop的日志分析系统.其中的日志数据主要来自于某系统开发测试期间的服务器访问日志数据(Tomcat),通过对这些日志数据利用正则表达式等技术手段进行处理, ...

  8. 基于hadoop的电商销售预测分析系统HDFS+MapReduce+springboot或springcloud+Echarts

    基于hadoop的电商销售预测分析系统 使用分布式文件存储系统HDFS+mapreduce+springboot和springcloud+Echarts实现的简单的电商销售数据预测分析系统. 主要通过 ...

  9. 基于Hadoop开发的大数据实战项目——电商日志分享系统

    项目介绍 大数据电商日志平台项目以某电商网站真实的业务数据架构为基础,将数据从收集到使用通过前端应用程序,后端程序,数据分析,平台部署等多方位的闭环的业务实现.形成了一套符合教学体系的电商日志分析项目 ...

  10. python大数据处理mapreduce_使用python构建基于hadoop的mapreduce日志分析平台

    流量比较大的日志要是直接写入Hadoop对Namenode负载过大,所以入库前合并,可以把各个节点的日志凑并成一个文件写入HDFS. 根据情况定期合成,写入到hdfs里面. 咱们看看日志的大小,200 ...

最新文章

  1. 模拟浏览器自动化测试工具Selenium之一eclipse集成开发部署篇
  2. 安装ubuntu时将boot目录单独挂载的意义
  3. Python中的select、epoll详解
  4. codeforces1473 E.Minimum Path(分层图最短路)
  5. 在Hibernate,EhCache,Quartz,DBCP和Spring中启用JMX
  6. html 单行文本(input text)
  7. c语言函数官网,c语言函数
  8. Spring MVC 学习总结(五)——校验与文件上传
  9. A/B test模块使用以及配置
  10. Java并发编程笔记之ArrayBlockingQueue源码分析
  11. 【交通流预测】基于matlab小波神经网络短时交通流预测【含Matlab源码 400期】
  12. 训练 AI 创作诗歌 6 NLP 从零到英雄 Training an AI to create poetry
  13. 【oracle】sql处理重复数据
  14. 高级编程语言学习概论
  15. YLMF OS 发布
  16. 使用低代码开发的图书管理系统如何使用扫条形码实现图书的录入?
  17. 全国省市区街道区域信息 API 接口
  18. 初恋失败让我学会推销自己
  19. 解决SQLserver 数据库恢复挂起
  20. 命令行基础-vim编辑器

热门文章

  1. SQL Server 2008中的CTE递归查询
  2. 红帽学习笔记[RHCSA] 第一课[Shell、基础知识]
  3. SpringBoot 的配置文件
  4. 利用WPF建立自己的3d gis软件(非axhost方式)(四)在地图上添加FrameworkElement
  5. 软件需求与分析——大二下需会知识点
  6. vue-music 关于搜索历史本地存储
  7. UVA - 1588 Kickdown
  8. .msi文件安装出现2503、2502错误
  9. PHP 5.4 内置 web 服务器
  10. 测试驱动开发全功略(转)