Spark实战:单节点本地模式搭建Spark运行环境

大数据 Spark
Spark与Hadoop一样,是一种开源的集群计算环境,但在特定工作负载情况下比Hadoop更高效。Spark采用基于内存的分布式数据集,优化了迭代式的工作负载以及交互式查询。下面作者将通过单节点本地模式搭建Spark运行环境

前言:

Spark本身用scala写的,运行在JVM之上。

JAVA版本:java 6 /higher edition.

1 下载Spark

http://spark.apache.org/downloads.html

你可以自己选择需要的版本,这里我的选择是:

http://d3kbcqa49mib13.cloudfront.net/spark-1.1.0-bin-hadoop1.tgz

如果你是奋发图强的好码农,你可以自己下载源码:http://github.com/apache/spark.

注意:我这里是运行在Linux环境下。没有条件的可以安装下虚拟机之上!

2 解压缩&进入目录

tar -zvxf spark-1.1.0-bin-hadoop1.tgz

cd spark-1.1.0-bin-hadoop1/

3 启动shell

./bin/spark-shell

你会看到打印很多东西,***显示

4 小试牛刀

先后执行下面几个语句

  1. val lines = sc.textFile("README.md")   
  2.  
  3. lines.count()   
  4.  
  5. lines.first()   
  6.  
  7. val pythonLines = lines.filter(line => line.contains("Python"))   
  8.  
  9. scala> lines.first()  
  10. res0: String = ## Interactive Python Shel  

---解释,什么是sc

sc是默认产生的SparkContext对象。

比如

  1. scala> sc  
  2. res13: org.apache.spark.SparkContext = org.apache.spark.SparkContext@be3ca72 

这里只是本地运行,先提前了解下分布式计算的示意图:

 

5 独立的程序 

***以一个例子结束本节

为了让它顺利运行,按照以下步骤来实施即可:

--------------目录结构如下:

  1. /usr/local/spark-1.1.0-bin-hadoop1/test$ find .  
  2. .  
  3. ./src  
  4. ./src/main  
  5. ./src/main/scala  
  6. ./src/main/scala/example.scala  
  7. ./simple.sbt 

然后simple.sbt的内容如下:

  1. name :"Simple Project"  

 

  1. version :"1.0"   

 

  1. scalaVersion :"2.10.4"  

 

  1. libraryDependencies += "org.apache.spark" %% "spark-core" % "1.1.0" 

example.scala的内容如下: 

  1. import org.apache.spark.SparkConf  
  2.  import org.apache.spark.SparkContext  
  3.  import org.apache.spark.SparkContext._   
  4.  
  5. object example {  
  6.    def main(args: Array[String]) {  
  7.     val conf = new SparkConf().setMaster("local").setAppName("My App")  
  8.     val sc = new SparkContext("local""My App")  
  9.     sc.stop()  
  10.     //System.exit(0)  
  11.     //sys.exit()  
  12.     println("this system exit ok!!!")  
  13.    }  
  14.  }  

红色local:一个集群的URL,这里是local,告诉spark如何连接一个集群,local表示在本机上以单线程运行而不需要连接到某个集群。

橙黄My App:一个项目的名字,

然后执行:sbt package

成功之后执行

./bin/spark-submit  --class  "example"   ./target/scala-2.10/simple-project_2.10-1.0.jar

结果如下:

说明确实成功执行了!

结束!

本文来自:http://my.oschina.net/qiangzigege/blog/313859

责任编辑:林师授 来源: 强子哥哥的博客
相关推荐

2020-09-22 18:01:22

SparkStandalone运行

2019-06-11 09:50:07

SparkBroadcast代码

2016-01-07 09:36:20

Docker容器

2014-01-07 10:36:32

EclipsSpark

2023-06-07 17:04:48

集群Standalone

2014-04-16 14:04:34

SparkStandalone

2014-04-16 13:47:43

SparkYarn

2018-03-21 11:05:26

Spark大数据应用程序

2020-05-26 15:05:30

Spark安装环境

2021-08-09 09:00:00

Kubernetes云计算架构

2017-08-14 10:30:13

SparkSpark Strea扩容

2023-06-12 07:41:16

dockerspark集群

2010-07-14 16:16:16

Telnet模式

2017-10-13 10:36:33

SparkSpark-Strea关系

2020-04-01 11:11:35

Hadoop运行环境分布式

2018-10-09 14:31:32

SparkCI灰度

2014-02-14 15:43:16

ApacheSpark

2016-09-13 14:05:24

Spark集群管理模式

2018-04-09 12:25:11

2023-10-24 20:32:40

大数据
点赞
收藏

51CTO技术栈公众号