Hadoop学习笔记(七):初识spark
1. spark的安装:
a). 首先复制一台虚拟机出来(复制任意一台master和slave即可),然后将其ip修改为192.168.XX.200,并将其hostname更改为c(hostnamectl set-hostname c)。然后再/etc/hosts文件中添加对本机的解析。最后重启网络服务。
b). 到官网下载spark(spark.apache.org,记住要下载对应hadoop版本的,这里下载的是spark-2.1.1-bin-hadoop2.7.tgz),并上传至/usr/local目录,然后解压,重命名为spark。
2. spark的运行模式:
a) local模式
b) standalone模式
c) yarn模式
d) mesos模式
3. 进入到spark目录下,执行命令:
./bin/spark-submit --class org.apache.spark.examples.SparkPi ./examples/jars/spark-examples_2.11-2.1.0.jar 10000
该命令表示提交一个spark例子程序,后边的10000表示10000个任务,该程序可以计算圆周率,最后的数字越大最后计算出来的结果越精确。提交任务后可以在宿主机输入IP地址:4040进行查看(该程序结束后,就不能访问该页面了)
4. 等该任务执行结束后,观察执行结果:
5. 进入spark-shell命令模式,输入:./bin/spark-shell
新打开一个连接窗口,输入命令jps,可以看到又启动了一个SparkSubmit服务:
6. spark-shell里敲的命令可以转换为一个job,通过SparkSubmit提交给spark,最后的结果在spark-shell里进行展示。
7. RDD(简言RDD就是一个数据集合,分布式存放,可以理解为里边装了一条条的数据)
8. 在root目录下创建hello.txt文件,内容如下:
9. 执行val lineRDD = sc.textFile(“/root/hello.txt”)命令,其中,sc为ScalaContent对象,其Scala的上下文对象,从结果可以看出来,该命令的执行结果为一个RDD数组,数组里边的元素为String类型。
10. 遍历得到的数组,输入命令:lineRDD.foreach(println)观察结果
11. 执行lineRDD.collect命令,将lineRDD转换成一个Array
12. 执行val wordRDD = lineRDD.flatMap(line => line.split(" "))命令,将lineRDD里的每一个单词进行拆分。
13. 执行wordRDD.foreach(println),查看wordRDD内容:
14. 执行val wordCountRDD = wordRDD.map(word => (word, 1))命令,该命令是遍历wordRDD里的每一个元素,并将该元素变成一个元组(key-value格式,key为该单词,value为1),然后输入wordCountRDD.foreach(println)观察其内容:
15. 执行var resultRDD = wordCountRDD.reduceByKey((x, y) => x + y)命令,熟悉MapReduce的应该知道,该命令相当于MapReduce中reduce的缩减过程,即通过key进行缩减,将相同key的value值(即x和y)进行相加,然后作为一个新的元组,进行下一次的reduce操作。遍历resultRDD进行结果的查看:
16. 上面所有的操作可以用一句scala语句来实现:
17. 去到输出目录查看,这个应该很眼熟了:
18. 查看结果:
Hadoop学习笔记(七):初识spark的更多相关文章
- Hadoop学习笔记—4.初识MapReduce
一.神马是高大上的MapReduce MapReduce是Google的一项重要技术,它首先是一个编程模型,用以进行大数据量的计算.对于大数据量的计算,通常采用的处理手法就是并行计算.但对许多开发者来 ...
- Hadoop学习笔记(1) 初识Hadoop
1. Hadoop提供了一个可靠的共享存储和分析系统.HDFS实现存储,而MapReduce实现分析处理,这两部分是Hadoop的核心. 2. MapReduce是一个批量查询处理器,并且它能够在合理 ...
- python学习笔记七 初识socket(进阶篇)
socket socket通常也称作"套接字",用于描述IP地址和端口,是一个通信链的句柄,应用程序通常通过"套接字"向网络发出请求或者应答网络请求. sock ...
- Storm学习笔记 - Storm初识
Storm学习笔记 - Storm初识 1. Strom是什么? Storm是一个开源免费的分布式计算框架,可以实时处理大量的数据流. 2. Storm的特点 高性能,低延迟. 分布式:可解决数据量大 ...
- Hadoop学习笔记—22.Hadoop2.x环境搭建与配置
自从2015年花了2个多月时间把Hadoop1.x的学习教程学习了一遍,对Hadoop这个神奇的小象有了一个初步的了解,还对每次学习的内容进行了总结,也形成了我的一个博文系列<Hadoop学习笔 ...
- Spark学习笔记2(spark所需环境配置
Spark学习笔记2 配置spark所需环境 1.首先先把本地的maven的压缩包解压到本地文件夹中,安装好本地的maven客户端程序,版本没有什么要求 不需要最新版的maven客户端. 解压完成之后 ...
- Hadoop学习笔记系列
Hadoop学习笔记系列 一.为何要学习Hadoop? 这是一个信息爆炸的时代.经过数十年的积累,很多企业都聚集了大量的数据.这些数据也是企业的核心财富之一,怎样从累积的数据里寻找价值,变废为宝炼 ...
- Hadoop学习笔记(7) ——高级编程
Hadoop学习笔记(7) ——高级编程 从前面的学习中,我们了解到了MapReduce整个过程需要经过以下几个步骤: 1.输入(input):将输入数据分成一个个split,并将split进一步拆成 ...
- Hadoop学习笔记(6) ——重新认识Hadoop
Hadoop学习笔记(6) ——重新认识Hadoop 之前,我们把hadoop从下载包部署到编写了helloworld,看到了结果.现是得开始稍微更深入地了解hadoop了. Hadoop包含了两大功 ...
- Hadoop学习笔记(2)
Hadoop学习笔记(2) ——解读Hello World 上一章中,我们把hadoop下载.安装.运行起来,最后还执行了一个Hello world程序,看到了结果.现在我们就来解读一下这个Hello ...
随机推荐
- Android_Jar mismatch! Fix your dependencies
在用adt开发安卓时,添加依赖的library后,经常会出现错误,Jar mismatch! Fix your dependencies 这个错误的原因是.出现了不同版本的jar包(例如:V4包版本不 ...
- Python类中的self到底是干啥的
Python类中的self到底是干啥的 Python编写类的时候,每个函数参数第一个参数都是self,一开始我不管它到底是干嘛的,只知道必须要写上.后来对Python渐渐熟悉了一点,再回头看self的 ...
- 新手立体四子棋AI教程(2)——价值评估函数
上一篇我们完成了整个程序的基础框架,那么在讲到真正的搜索算法前,我们先来看看五子棋如何评估当前局势,以及如何计算某个位置的价值. 一.五子棋 在五子棋中,包括成五,活三,活二等定势,下图为山东师范大学 ...
- USB Audio设计与实现
1 前言 本文将基于STM32F4 Discovery板,从零开始设计并实现一个USB Audio的例子. 2 设计构思 所谓的USB AUDIO就是制作一个盒子,这个盒子可以通过USB连接到PC,P ...
- [学习笔记]Javaweb开发视频教程之Tomcat9配置
参考自北京动力节点的视频教程:https://www.bilibili.com/video/av14548279/?p=1 1.Java XE Java SE 是做电脑上运行的软件. Java EE ...
- Divisor counting [线性筛积性函数]
Divisor counting 题目大意:定义f(n)表示整数n的约数个数.给出正整数n,求f(1)+f(2)+...+f(n)的值. 注释:1<=n<=1000,000 想法:我们再次 ...
- oracle创建表空间、创建用户并赋予权限
分开执行如下sql语句 --创建临时表空间 CREATE SMALLFILE TEMPORARY TABLESPACE "TEMP11" TEMPFILE 'E:\app\MD\o ...
- 2017年秋软工-领跑衫获奖感言&我最感谢的人
啥都不说,先上幅图.获得领跑衫,开心. 一.回忆 这是我第二次来上恩师杨的软件工程,第一次是2016年春,那时候我还是本科三年级的学生.忘了第一次为啥去蹭课,印象中是我的榜样亮哥把我给忽悠过去的?我也 ...
- 2017-2018-1 1623 bug终结者 冲刺004
bug终结者 冲刺004 by 20162322 朱娅霖 整体连接 简要说明 目前,我们已经完成了欢迎界面,主菜单界面,排行榜界面,选项界面,胜利界面,地板类.小人类.墙体类.箱子类和虚拟按键类. 主 ...
- scrapy 数据存储mysql
#spider.pyfrom scrapy.linkextractors import LinkExtractor from scrapy.spiders import CrawlSpider, Ru ...