1. 程式人生 > >spark最簡單demo解讀

spark最簡單demo解讀

object AstronTest {
  def main(args: Array[String]): Unit = {
    println("hello,astron!")
  }
}

object定義類,用class沒法執行。具體原因後面講trait的時候一起說

這裡寫圖片描述

這裡寫圖片描述
跟java差不多,需要注意的是:
1、多了def
2、args的陣列寫法有變化。而且聲明瞭string型別
3、void程式設計了unit
4、unit後面多了=

其他沒有任何變化了。這算是scala的最小工程

接下來引入spark的相關的
1兩種引包用法

import org.apache.spark
.SparkContext._ import org.apache.spark.{SparkConf, SparkContext}

每個scala程式都預設引入如下包

import java.lang._
import scala._
import Predef._

_和java中的*類似

import java.awt._

想引入包中的幾個成員,可以使用選取器{}

import java.awt.{color, font}

2spark最小demo
spark2是用的session。已經不用sparkcontext,後面會講到。所以遇到新的寫法也不要意外。
可以除錯的地方主要是setmaster,改成其他的試試,看看會不會報錯。

    val conf = new SparkConf().setAppName("SparkWordCount").setMaster("local")
    val sc = new SparkContext(conf)

    //rdd2為所有包含Spark的行
    val rdd2=sc.textFile(args(0)).filter(line => line.contains("Spark"))
    //儲存內容,在例子中是儲存在HDFS上
    rdd2.saveAsTextFile(args(1))
    sc.stop()