Spark介绍 & 安装

目录

Spark介绍

概述

为什么要使用spark

spark优势

spark技术栈(内置组件)

Spark安装

解压

改名

配置环境变量

修改配置文件

编辑spark-env.sh文件

编辑workers文件

刷新资源

启动spark


Spark介绍

概述

Spark是一种快速、通用、可扩展的大数据分析引擎,于2009年诞生于加州大学伯克利分校AMPLab,2010年开源,2013年6月成为Apache孵化项目,2014年2月成为Apache顶级项目。项目是用Scala进行编写。

Spark生态系统已经发展成为一个包含多个子项目的集合,其中包含SparkSQL、Spark Streaming、GraphX、MLib、SparkR等子项目,Spark是基于内存计算的大数据并行计算框架。除了扩展了广泛使用的 MapReduce 计算模型,而且高效地支持更多计算模式,包括交互式查询和流处理。Spark适用于各种各样原先需要多种不同的分布式平台的场景,包括批处理、迭代算法、交互式查询、流处理。通过在一个统一的框架下支持这些不同的计算,Spark 使我们可以简单而低耗地把各种处理流程整合在一起。而这样的组合,在实际的数据分析 过程中是很有意义的。不仅如此,Spark 的这种特性还大大减轻了原先需要对各种平台分 别管理的负担。

Spark致力于打造大一统的软件栈,各个组件关系密切并且可以相互调用,这种设计有几个好处:
1、软件栈中所有的程序库和高级组件 都可以从下层的改进中获益。
2、运行整个软件栈的代价变小了。不需要运 行 5 到 10 套独立的软件系统了,一个机构只需要运行一套软件系统即可。系统的部署、维护、测试、支持等大大缩减。
3、能够构建出无缝整合不同处理模型的应用。

为什么要使用spark

MapReduce编程模型的局限性

繁杂

  • 只有Map和Reduce两个操作卜复杂的逻辑需要大量的样板代码

处理效率低:

  • Map中间结果写磁盘,Reduce写HDFS,多个Map通过HDFS交换数据
  • 任务调度与启动开销大

不适合迭代处理。交互式处理和流式处理

Spark是类Hadoop MapReduce的通用并行框架

Job中间输出结果可以保存在内存,不再需要读写HDFS

比MapReduce平均快10倍以上

spark优势

速度快

  • 基于内存数据处理,比MR快100个数量级以上(逻辑回归算法测试)
  • 基于硬盘数据处理,比MR快10个数量级以上

易用性

  • 支持Java、Scala、Python.R语言
  • 交互式shell方便开发测试

通用性

  • 一栈式解决方案:批处理、交互式查询、实时流处理、图计算及机器学习

多种运行模式

  • YARN、Mesos、EC2、Kubernetes、Standalone、Local

spark技术栈(内置组件)

  • Spark Core:核心组件,分布式计算引擎
  • Spark SQL:高性能的基于Hadoop的SQL解决方案
  • Spark Streaming:可以实现高吞吐量○具备容错机制的准实时流处理系统
  • Spark Graphx:分布式图处理框架
  • Spark MLlib:构建在Spark上的分布式机器学习库

Spark安装

在opt/install下面拷贝压缩包

一个为scala一个为spark

解压

[root@hadoop3 install]# tar -zxf spark-3.1.2-bin-hadoop3.2.tgz -C ../soft

[root@hadoop3 install]# tar -zxf scala-2.12.10.tgz -C ../soft/

改名

在soft目录下面

[root@hadoop3 soft]# mv spark-3.1.2-bin-hadoop3.2/ spark312

[root@hadoop3 soft]# mv scala-2.12.10/ scala212

配置环境变量

vim /ect/profile

#SPARK_HOME
export SPARK_HOME=/opt/soft/spark312
export PATH=$PATH:$SPARK_HOME/bin

#SCALA_HOME
export SCALA_HOME=/opt/soft/scala212
export PATH=$PATH:$SCALA_HOME/bin

修改配置文件

编辑spark-env.sh文件

cd /opt/soft/spark312/conf

把零时文件修改正式文件

[root@hadoop3 conf]# cp spark-env.sh.template spark-env.sh

编辑文件

[root@hadoop3 conf]# vim spark-env.sh

在文件最后加上下面代码

export SCALA_HOME=/opt/soft/scala212
export JAVA_HOME=/opt/soft/jdk180
export SPARK_HOME=/opt/soft/spark312
export HADOOP_INSTALL=/opt/soft/hadoop313
export HADOOP_CONF_DIR=$HADOOP_INSTALL/etc/hadoop
export SPARK_MASTER_IP=hadoop3
export SPARK_DRIVER_MEMORY=2G
export SPARK_LOCAL_DIRS=/opt/soft/spark312
export SPARK_EXECUTOR_MEMORY=2G

编辑workers文件

[root@hadoop3 conf]# cp workers.template workers

[root@hadoop3 conf]# vim workers

 这里已经有一个localhost,则不需要添加,如果需要配置集群只需要在这里添加主机名即可

刷新资源

source /etc/profile

启动spark

[root@hadoop3 conf]# spark-shell

出现下图则为已经安装成功

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
本套大数据热门技术Spark+机器学习+贝叶斯算法系列课程,历经5年沉淀,调研企业上百家,通过上万学员汇总,保留较为完整的知识体系的同时,让每个模块看起来小而精,碎而不散。在本课程中基于大量案例实战,深度剖析和讲解Spark2.4原理和新特性,且会包含完全从企业真实业务需求中抽取出的案例实战。内容涵盖Spark核心编程、Spark SQL和Spark Streaming、Spark内核以及源码剖析、推荐系统、Kafka消费机制、Spark机器学习、朴素贝叶斯算法、企业级实战案例等。通过理论和实际的紧密结合,可以使学员对大数据Spark技术栈有充分的认识和理解,在项目实战中对Spark和流式处理应用的场景、以及大数据开发有更深刻的认识;并且通过对流处理原理的学习和与批处理架构的对比,可以对大数据处理架构有更全面的了解,为日后成长为架构师打下基础。本套教程可以让学员熟练掌握Spark技术栈,提升自己的职场竞争力,实现更好的升职或者跳槽,或者从J2EE等传统软件开发工程师转型为Spark大数据开发工程师,或是对于正在从事Hadoop大数据开发的朋友可以拓宽自己的技术能力栈,提升自己的价值。Spark应用场景Yahoo将Spark用在Audience Expansion中的应用,进行点击预测和即席查询等。淘宝技术团队使用了Spark来解决多次迭代的机器学习算法、高计算复杂度的算法等。应用于内容推荐、社区发现等。腾讯大数据精准推荐借助Spark快速迭代的优势,实现了在“数据实时采集、算法实时训练、系统实时预测”的全流程实时并行高维算法,最终成功应用于广点通pCTR投放系统上。优酷土豆将Spark应用于视频推荐(图计算)、广告业务,主要实现机器学习、图计算等迭代计算。本套大数据热门技术Spark+机器学习+贝叶斯算法共计13季,本套为第4季。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值