Spark学习(一) -- Spark安装及简介
标签(空格分隔): Spark
学习中的知识点:函数式编程、泛型编程、面向对象、并行编程。
任何工具的产生都会涉及这几个问题:
- 现实问题是什么?
- 理论模型的提出。
- 工程实现。
思考: 数据规模达到一台机器无法处理的时候,如何在有限的时间内对整个数据集进行遍历及分析?
Google针对大数据问题提出的一些解决方案:
- MapReduce: 计算框架;
- GFS:数据存储
- BigTable:NoSQL始祖。
Hadoop是根据MapReduce和GFS两大论文所做的开源实现,因此,它主要解决2大问题:数据存储,分布式计算框架。

YARN是Hadoop2和Hadoop1的最大区别,将集群管理本身独立出来。而计算模型则更加专注于问题本身。
Spark简介
Spark是由UC Berkeley的AMPLab出品的,主要创作者是Matei Zaharia. Spark与MapReduce位于Hadoop生态圈的同一层,主要解决分布式计算框架的问题。
Spark与Hadoop有以下关系:
- Spark和Hadoop中的MapReduce位于同一层次;
- Spark可以部署在YARN(专门管理集群工作的)上;
- Spark支持HDFS文件系统的访问。
Mac Scala安装
使用brew安装:
brew install scala
下载包安装
tar zxvf ~/Download/scala-2.12.1.tgz #解压
mv ~/Download/scala-2.12.1 ~/Download/scala #重命名
mv ~/Download/scala /usr/local/share/ #将文件夹放到合适的位置修改环境变量,如果不是管理员可使用 sudo 进入管理员权限,修改配置文件profile,在文件的末尾加入:
export PATH="$PATH:/usr/local/share/scala/bin"验证
$ scala
显示:Welcome to Scala version 2.11.6 (Java HotSpot(TM) 64-Bit Server VM, Java 1.8.0_40).
Type in expressions to have them evaluated.
Type :help for more information.
Mac Spark安装
使用brew安装
$ brew install apache-spark
检测是否安装成功
cd /usr/local/Cellar/apache-spark/1.3.0/bin/- 输入:
./spark-shell启动spark
WordCount in spark-shell
在spark-shell中完成单词统计:
val file = sc.textFile("/usr/local/Cellar/apache-spark/1.3.0/README.md")
// 以空格为拆分标志,将文件中的每一行分割为多个单词
val words = file.flatMap(line => line.split(" "))
// 对每一个单词进行计数
val wordNumber = words.map(w => (w, 1))
// 将单词进行分类合并,计算每个单词总的出现次数
val wordCounts = wordNumber.reduceByKey(_+_)
//将所有单词及其出现次数打印出来
wordsCounts.foreach(println)
上述工作的简单表述形式:
sc.textFile("/usr/local/Cellar/apache-spark/1.3.0/README.md")
.flatMap(line => line.split(" "))
.map(w => (w, 1))
.reduceByKey(_+_)
.foreach(println)
Spark学习(一) -- Spark安装及简介的更多相关文章
- Spark学习之Spark Streaming(9)
Spark学习之Spark Streaming(9) 1. Spark Streaming允许用户使用一套和批处理非常接近的API来编写流式计算应用,这就可以大量重用批处理应用的技术甚至代码. 2. ...
- Spark学习之Spark SQL(8)
Spark学习之Spark SQL(8) 1. Spark用来操作结构化和半结构化数据的接口--Spark SQL. 2. Spark SQL的三大功能 2.1 Spark SQL可以从各种结构化数据 ...
- Spark学习之Spark调优与调试(7)
Spark学习之Spark调优与调试(7) 1. 对Spark进行调优与调试通常需要修改Spark应用运行时配置的选项. 当创建一个SparkContext时就会创建一个SparkConf实例. 2. ...
- Spark学习之Spark安装
Spark安装 spark运行环境 spark是Scala写的,运行在jvm上,运行环境为java7+ 如果使用Python的API ,需要使用Python2.6+或者Python3.4+ Spark ...
- Spark学习笔记--Linux安装Spark集群详解
本文主要讲解如何在Linux环境下安装Spark集群,安装之前我们需要Linux已经安装了JDK和Scala,因为Spark集群依赖这些.下面就如何安装Spark进行讲解说明. 一.安装环境 操作系统 ...
- Spark学习进度-Spark环境搭建&Spark shell
Spark环境搭建 下载包 所需Spark包:我选择的是2.2.0的对应Hadoop2.7版本的,下载地址:https://archive.apache.org/dist/spark/spark-2. ...
- Spark学习之Spark Streaming
一.简介 许多应用需要即时处理收到的数据,例如用来实时追踪页面访问统计的应用.训练机器学习模型的应用,还有自动检测异常的应用.Spark Streaming 是 Spark 为这些应用而设计的模型.它 ...
- Spark学习之Spark调优与调试(一)
一.使用SparkConf配置Spark 对 Spark 进行性能调优,通常就是修改 Spark 应用的运行时配置选项.Spark 中最主要的配置机制是通过 SparkConf 类对 Spark 进行 ...
- Spark学习笔记--Spark在Windows下的环境搭建
本文主要是讲解Spark在Windows环境是如何搭建的 一.JDK的安装 1.1 下载JDK 首先需要安装JDK,并且将环境变量配置好,如果已经安装了的老司机可以忽略.JDK(全称是JavaTM P ...
- Spark学习笔记--Spark在Windows下的环境搭建(转)
本文主要是讲解Spark在Windows环境是如何搭建的 一.JDK的安装 1.1 下载JDK 首先需要安装JDK,并且将环境变量配置好,如果已经安装了的老司机可以忽略.JDK(全称是JavaTM P ...
随机推荐
- Java语言程序设计(基础篇) 第四章 数学函数、字符和字符串
第四章 数学函数.字符和字符串 4.2 常用数学函数 方法分三类:三角函数方法(trigonometric method).指数函数方法(exponent method)和服务方法(service m ...
- (copy) Top Ten Reasons not to use the C shell
http://www.grymoire.com/Unix/CshTop10.txt ========================================================== ...
- ISO8583报文协议
最开始时,金融系统只有IBM这些大的公司来提供设备,象各种主机与终端等.在各个计算机设备之间,需要交换数据.我们知道数据是通过网络来传送的,而在网络上传送的数据都是基于0或1这样的二进制数据,如果没有 ...
- maven exclusion 解决maven传递依赖中的版本冲突
传递依赖是maven最有特色的.最为方便的优点之一,可以省了很多配置.如a 依赖 b,b 依赖c 默认 a也会依赖 c.但是也会带来隐患,如版本冲突.当然maven也考虑到解决办法,可以使用exclu ...
- 【转】PHP ob_start() 函数介绍
php ob_start 与 ob_end_flush() 是 php 的缓冲输出函数. ob_start([string output_callback])- 打开输出缓冲区,所有的输出信息不在直接 ...
- php计算字符串长度
/** * 计算字符串的长度(非字节) * 先用正则将字符串分解为个体单元,然后再计算单元的个数即得出字符串的长度 * from wordpress * @param string $string * ...
- aischool 倒计时VIEW封装
@implementation TWPaperTimeCountLabel { NSInteger miaoshu; dispatch_source_t _timer; } -(id)initWith ...
- Spark:读取hdfs gz压缩包
spark 1.5.1是支持直接读取gz格式的压缩包的,和普通文件没有什么区别: 使用spark-shell进入spark shell 交互界面: 输入命令: sc.textFile("\h ...
- Chrome console命令整理
console.dir (这个方法是我经常使用的 可不知道比for in方便了多少) 直接将该DOM结点以DOM树的结构进行输出,可以详细查对象的方法发展等等 在页面右击选择 审查元素 ,然后在弹出来 ...
- C语言pow函数编写
C语言pow函数编写 #include<stdio.h> double chaoba(double f,double q); //声明自定义函数 void main(void) { dou ...