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()