Spark基础

本文介绍了Spark的基本概念和运行方式,强调了Spark适合低延迟作业的原因,如多线程执行、快速任务启动和内存共享。RDD作为Spark的核心,其特点是懒计算、瞬时性和通过lineage实现容错。文章还涵盖了Spark的配置与启动流程,包括与Hadoop的版本匹配、配置文件修改、集群部署和验证步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一,

多进程:方便控制资源,以为独享进程空间,但是消耗更多的启动时间,不适合运行那些低延时作业,导致mapreduce时效相差

多线程:spark的运行方式,所以spark适合低延迟类型的作业。好处:(1)任务启动速度快(2)同节点上的任务由于在一个进程中,所以共享内存——》适合内存密集任务(加载大量词表的程序)(3)同节点上所有任务运行在JVM进程(Executor)里面,适合Executor所占资源被多批任务调用 。stage(阶段)是spark独有的,一般一个job有多个stage ,各个stage之间按照顺序执行。   

Spark:基于弹性分布式数据集模型,具有良好的通用性、容错性和并行处理数据的能力。

RDD(Resilient  Distributed DataSet):弹性分布式数据集(相当于集合),本质是数据的描述(只读的、可分布的分布式数据集),而不是数据本身。不包含待处理的数据,真正的数据只有在执行的时候才加载进来。加载数据主要有两个来源:1:spark外部——》HDFS ,2:spark内部:——》其他RDD。

RDD特征: 懒操作:延迟计算,action的时候才操作。   瞬时性:用时才产生,用完就释放。记录 数据的变换而不是数据本身保证 容错 (lineage):RDD 采用数据变换,若部分数据丢失,可通过计算得到

Spark任务来说,最终的目标是ACtion(save,collect)

     

==================================================================================================二,Spark配置及启动

1,下载Spark软件包,注意要与Hadoop版本相配套,同时要下载Scala和sbt(这是啥,我也不知道),这两个文件不用配置,下载后放在/usr/local/src/目录下就好。

解压spark后,进入conf 目录下修改spark-env.sh 和slaves文件。先要拷贝,因为没有,cp spark-emv.sh.template spark-env.sh

调整如下内容:

export SCALA_HOME=/usr/local/src/scala-2.11.4
export JAVA_HOME=/usr/local/src/jdk1.7.0_45
export HADOOP_HOME=/usr/local/src/hadoop-2.6.1
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
SPARK_MASTER_IP=master
SPARK_LOCAL_DIRS=/usr/local/src/spark-1.6.0-bin-hadoop2.6
SPARK_DRIVER_MEMORY=1G

            

修改slaves的内容:

然后,将配置好的spark安装目录,分发到slave1和slave2节点上。

最后,配置bashrc文件,(vim ~/.bashrc)(前提配置好Java和Hadoop环境变量)

export SCALA_HOME=/usr/local/src/scala-2.11.4
export SBT_HOME=/usr/local/src/sbt
export HADOOP_HOME=/usr/local/src/hadoop-2.6.1
export PATH=$HADOOP_HOME/bin:$JAVA_HOME/bin:$SCALA_HOME/bin:$SBT_HOME/bin:$PATH
export HADOOP_HOME_WARE_SUPPRESS=not_null

2,启动Spark

先启动Hadoop,进入spark-1.6.0-bin-hadoop2.6目录下,执行./sbin/start-all.sh

查看相关进程jps:主节点在原先的Hadoop原有的进程基础上多出一个master进程,从节点多出一个worker进程。

            

3,验证Spark 

(1)本地模式:

./bin/run-example SparkPi 10 --master local[2]

(2)集群模式Spark Stand alone:

./bin/spark-submit --class org.apache.spark.examples.SparkPi --master spark://master7077 lib/spark-examples-1.6.0-hadoop2.6.0.jar 100

(3)集群模式Spark on Yarn集群yarn-cluster模式:

./bin/spark-submit --class org.apache.spark.examples.SparkPi --master yarn-cluster lib/spark-examples-1.6.0-hadoop2.6.0.jar 10

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值