Spark(火花)快速、通用的大数据处理引擎框架
一、什么是Spark(火花)?
是一种快速、通用处理大数据分析的框架引擎。
二、Spark的四大特性
1.快速:
Spark内存上采用DAG(有向无环图)执行引擎非循环数据流和内存计算支持。 内存上比MapReduce快速100倍,磁盘上快10倍左右
MapReduce存储读取在磁盘上,大数据批量处理系统
2.简洁性
编程起来很简单,Spark由Scala编写,方法式操作
Scala-Python-java
3.通用性
一站式相当于JAR包,结合SQL、流、库、图形、Apache Spark
4.运行方式环境
单独运行 集群 hadoop 云端
Spark与MapReduce(数据的处理引擎)的相比的区别?
1.基本原理
MapReduce是基于磁盘的大数据批量处理系统
Spark:基于RDD(弹性分布式数据处理集)数据处理,显式的将RDD数据存储到磁盘或者内存中
2.从模型上
MapReduce可以处理批量数据,适用于日志分析挖掘
Spark适合数据的挖掘
3.容错性
a)数据的容错性:
b)节点的容错性:spark lineage
Spark的编译
1.SBT编译 --scala编译
2.maven编译
安装jdk
下载地址:www.oracle.com/technetwork/java/javase/downloads/jdk9-downloads-3848520.html
安装maven
下载地址:maven.apache.org/download.cgi
2、配置环境变量
# sudo vim /etc/profile
JAVA_HOME=/opt/data02/jdk-9.0.1
CLASS_PATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
PATH=$PATH:$JAVA_HOME/bin
export JAVA_HOME JRE_HOME CLASS_PATH PATH
MAVEN_HOME=/opt/data02/apache-maven-3.5.2
PATH=$PATH:$MAVEN_HOME/bin
#SCALA
SCALA_HOME=/opt/data02/SCALA
PATH=$PATH:$SCALA_HOME/bin
3、使配置文件立即生效
source /etc/profile
需要FQ的两个注意事项
1.sudo vi /etc/resolv.conf 添加
nameserver 8.8.8.8
nameserver 8.8.4.4
2.在maven 的setting.xml中添加
<mirror>
<id>osc_thirdparty</id>
<mirrorOf>thirdparty</mirrorOf>
<url>http://maven.oschina.net/content/repositories/thirdparty/</url>
</mirror>
3.打包编译