《Spark的使用》--- 大数据系列

2019-07-03 18:06:49 浏览数 (1)

一、Spark是什么?

引用官网的简介

Apache Spark is a fast and general-purpose cluster computing system. It provides high-level APIs in Java, Scala, Python and R, and an optimized engine that supports general execution graphs. It also supports a rich set of higher-level tools including Spark SQL for SQL and structured data processing, MLlib for machine learning, GraphX for graph processing, and Spark Streaming.

二、Spark的架构

Spark架构图

1.Spark Core 包含Spark的基本功能;尤其是定义RDD的API、操作以及这两者上的动作。其他Spark的库都是构建在RDD和Spark Core之上的

2.Spark SQL 提供通过Apache Hive的SQL变体Hive查询语言(HiveQL)与Spark进行交互的API。每个数据库表被当做一个RDD,Spark SQL查询被转换为Spark操作。

3. Spark Streaming 对实时数据流进行处理和控制。Spark Streaming允许程序能够像普通RDD一样处理实时数据。

4.MLlib 一个常用机器学习算法库,算法被实现为对RDD的Spark操作。这个库包含可扩展的学习算法,比如分类、回归等需要对大量数据集进行迭代的操作。

5.GraphX 控制图、并行图操作和计算的一组算法和工具的集合。GraphX扩展了RDD API,包含控制图、创建子图、访问路径上所有顶点的操作。

如果您还是一脸懵逼的话,可以参考下面的链接介绍的spark原理

代码语言:javascript复制
https://blog.csdn.net/swing2008/article/details/60869183
三、Spark的安装

1、下载 直接到官网下,选择源码下载

代码语言:javascript复制
wget http://mirrors.tuna.tsinghua.edu.cn/apache/spark/spark-2.3.0/spark-2.3.0.tgz

2、按照官网要求安装maven3.3.9以上和jdk1.8以上版本 指定maven的本地jar库

代码语言:javascript复制
<localRepository>/root/data/maven/repo</localRepository>

3、安装Scala2.11.8 配置Scala到环境变量中

代码语言:javascript复制
wget https://downloads.lightbend.com/scala/2.11.8/scala-2.11.8.tgz

4、解压后,进入spark-2.3.0目录 修改pom.xml 4.1、修改插件版本为3.3.2

代码语言:javascript复制
<dependency>
    <groupId>net.alchim31.maven</groupId>
    <artifactId>scala-maven-plugin</artifactId>
    <version>3.3.2</version>
</dependency>

4.2、添加cdh的资源库

代码语言:javascript复制
<repository>
  <id>cloudera</id>
  <url>https://repository.cloudera.com/artifactory/cloudera-repos/</url>
</repository>

4.3、编译

代码语言:javascript复制
./dev/change-scala-version.sh 2.11  ./dev/make-distribution.sh --name 2.6.0-cdh5.7.0 --tgz -Phadoop-2.6 -Phive -Phive-thriftserver -Pyarn

如果build成功就行了(这是一个漫长的过程,期间会出现很多错误,您就要靠搜索引擎了,或者看官网的教程)

四、Spark启动

建议添加spark到环境变量中 启动命令 local模式启动:

代码语言:javascript复制
spark-shell --master local[2]

0 人点赞