Spark實戰1:單節點本地模式搭建Spark運行環境

jopen 10年前發布 | 51K 次閱讀 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

你會看到打印很多東西,最后顯示

Spark實戰1:單節點本地模式搭建Spark運行環境

 

4 小試牛刀

先后執行下面幾個語句

val lines = sc.textFile("README.md")

lines.count()

lines.first()

val pythonLines = lines.filter(line => line.contains("Python"))

scala> lines.first()
res0: String = ## Interactive Python Shel

---解釋,什么是sc

sc是默認產生的SparkContext對象。

比如

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

 

 這里只是本地運行,先提前了解下分布式計算的示意圖:

Spark實戰1:單節點本地模式搭建Spark運行環境

5 獨立的程序 

最后以一個例子結束本節

為了讓它順利運行,按照以下步驟來實施即可:

--------------目錄結構如下:

/usr/local/spark-1.1.0-bin-hadoop1/test$ find .
.
./src
./src/main
./src/main/scala
./src/main/scala/example.scala
./simple.sbt

 

然后simple.sbt的內容如下:

 

name := "Simple Project" 
version := "1.0" 
scalaVersion := "2.10.4" 
libraryDependencies += "org.apache.spark" %% "spark-core" % "1.1.0"

 example.scala的內容如下:

 

import org.apache.spark.SparkConf
import org.apache.spark.SparkContext
import org.apache.spark.SparkContext._

object example {
  def main(args: Array[String]) {
   val conf = new SparkConf().setMaster("local").setAppName("My App")
   val sc = new SparkContext("local", "My App")
   sc.stop()
   //System.exit(0)
   //sys.exit()
   println("this system exit ok!!!")
  }
}

 紅色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

結果如下:

Spark實戰1:單節點本地模式搭建Spark運行環境

說明確實成功執行了!

來自:http://my.oschina.net/qiangzigege/blog/313859

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!