請注意,應用程序應定義main()
方法。
該程序只計算包含'a'的行數和Spark README中包含'b'的數字。請注意,您需要將YOUR_SPARK_HOME替換爲安裝Spark的位置。與之前使用Spark shell(初始化自己的SparkSession)的示例不同,我們將SparkSession初始化爲程序的一部分。
我們調用SparkSession.builder
構造[[SparkSession]],然後設置應用程序名稱,最後調用getOrCreate
獲取[[SparkSession]]實例。
/* SimpleApp.scala */
import org.apache.spark.sql.SparkSession
object SimpleApp {
def main(args: Array[String]) {
val logFile = "YOUR_SPARK_HOME/README.md" // Should be some file on your system
val spark = SparkSession.builder.appName("Simple Application").getOrCreate()
val logData = spark.read.textFile(logFile).cache()
val numAs = logData.filter(line => line.contains("a")).count()
val numBs = logData.filter(line => line.contains("b")).count()
println(s"Lines with a: $numAs, Lines with b: $numBs")
spark.stop()
}
}