spark最簡單demo解讀
阿新 • • 發佈:2019-02-13
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()